如何使用关键字准备 PHP postgreSQL 请求'LIKE'



我使用的是Symfony4和postgreSQL数据库。我正在研究一个搜索系统。我想检查一下数据库中是否有与我用ajax发送的字符串匹配的内容。但是SQL查询总是返回false。我应该怎么做才能让这个代码正常工作?感谢帮助:(

public function search(Request $request) : Response {
if($ajaxRequest = $request->getContent())
{
$requestContent = json_decode($ajaxRequest, true);
$content = $requestContent["content"];
$connexionParams = "host=localhost port=5432 dbname=mydb user=myuser password=mypassword";
$db = pg_connect($connexionParams);
$sql = pg_prepare($db, 'search_query', "SELECT nom, lon, lat, id FROM site WHERE nom LIKE $1 OR id LIKE $2");
$result = pg_execute($db, 'search_query', array($content, $content));
var_dump($content, pg_fetch_row($result), $result);
$results = array();
while($row = pg_fetch_row($result)) {
$results[] = $row; 
}  
if(($results)) {
return new JsonResponse([
'result' => true,
'results' => json_encode($results),
]);
} else {
return new JsonResponse([
'result' => false,
]);
}
}
}

false表示失败,而不是此处所述的空零命中。您的SQL语法或连接数据中很可能存在错误。也许pg_last_error有助于找到错误:


if ($result === false) {
echo pg_last_error($db);
}

最新更新