gpt4 book ai didi

php - 了解 PHP 中 Postgres Like 命令中的参数

转载 作者:可可西里 更新时间:2023-11-01 00:07:51 28 4
gpt4 key购买 nike

如何在 Postgres Like 命令中使用参数?

我正在阅读 this document .我正在尝试在表 questions 及其列 body 中搜索单词 lorem

我在 PHP 中运行以下代码失败

$result = pg_query_params ( $dbconn, 
"SELECT question_id, body
FROM questions
WHERE body ilike '%$1%'",
array ( $_GET['search'])
);

我收到这个警告

Warning: pg_query_params() [function.pg-query-params]: Query failed: ERROR: bind message supplies 1 parameters, but prepared statement "" requires 0 in /var/www/codes/search_body.php on line 10 Call Stack

最佳答案

您必须使用一个参数来代替一个整个值,并且不能在引号内。

解决方案 1:将 LIKE 通配符连接到参数值中:

$result = pg_query_params ( $dbconn, 
"SELECT question_id, body
FROM questions
WHERE body ilike $1",
array ( "%" . $_GET['search'] . "%")
);

解决方案 2:连接 SQL 表达式中的 LIKE 通配符:

$result = pg_query_params ( $dbconn, 
"SELECT question_id, body
FROM questions
WHERE body ilike '%' || $1 || '%'",
array ( $_GET['search'] )
);

关于php - 了解 PHP 中 Postgres Like 命令中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326052/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com