尝试从基于数据库的查询中获取信息,但由国家/地区(位置)确定

时间:2016-07-24 12:03:21

标签: php sql

我很想接收带有查询的数据。查询可以在我的数据库中的任何列中,但是我只想获取来自同一国家/地区的数据。它不起作用。

网址如下:search.php?query = econ& country = England

所以查询是:“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?)

1 个答案:

答案 0 :(得分:0)

是的,like子句需要%string%。

$sq = "%$searchQuery%";
$stmt->execute(array($searchCountry, $sq, $sq, $sq, $sq));