我正在尝试通过查询接收数据。该查询可以在数据库的任何列中,但是我只想获取来自同一国家/地区的数据。它不起作用。
网址是这样的:search.php?query = econ&country = England
因此查询为:“ econ”,国家/地区为“ england”
如果包含econ的内容也来自英国,则将收集所有包含econ的内容。
首先,我从网址中获取变量
$searchQuery = $_GET['query'];
$searchCountry = $_GET['country'];
这是我的SQL
SELECT * from sbEvents
WHERE EventCountry = ?
AND (Name LIKE ?
OR Description LIKE ?
OR Address LIKE ?
OR Author LIKE ?)
然后我用
$stmt = $db->prepare($sth);
$stmt->execute(array($searchCountry, $searchQuery, $searchQuery, $searchQuery, $searchQuery));
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
然后显然我将其打印为JSON。如果删除国家(或地区)部分,则此方法有效(因此没有其他问题),我认为这是我的SQL结构突出的部分,即:和(或LIKE?)
是的,like子句将需要%string%围绕它。
$sq = "%$searchQuery%";
$stmt->execute(array($searchCountry, $sq, $sq, $sq, $sq));
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句