我尝试使用以下代码创建一个小型搜索函数来查看数据库:
$searchQ = 'Li';
$query = $connDB->prepare('SELECT * FROM topic WHERE topic_name LIKE '."':keywords'");
$query->bindValue('keywords', '%' . $searchQ . '%');
$query->execute();
if (!$query->rowCount() == 0) {
while ($results = $query->fetch()) {
echo $results['topic_name'] . "<br />\n";
}
} else {
echo 'Nothing found';
}
这将返回数据库中的所有项,而不仅仅是相似的项,
然后我运行了以下sql查询:
SELECT * FROM topic WHERE topic_name LIKE '%Li%';
它按预期运行并返回所需的结果。
我错过了什么?
4条答案
按热度按时间rur96b6h1#
从占位符中删除引号,并在绑定引用之前添加冒号:
下面是我的文本示例:
sql语句
PHP
输出
snvhrwxg2#
您需要将单个变量传递给
bind_param
不是一个concatenated
字符串,因为参数two
必须是引用而不是值。o4hqfura3#
只能绑定数据文本。尝试
af7jpaap4#
showdev谢谢你的教程
sql语句
PHP
输出