【发布时间】:2015-01-08 09:52:01
【问题描述】:
我正在尝试进行“相关产品”查询以搜索 5 个相关产品,但它给出了以下错误: 错误图片:http://puu.sh/eeo5n/a845ef5ba3.png
这是我的代码
// Info current t-shirt. Normally from database
$name = "Luftrauser T-shirt";
$description = "Stylish LUFTRAUSERS T-shirt designed by Amon26.";
$relatedSearch = $name . $description;
// Query which searches for related items
$query = $db->prepare("SELECT * FROM tbl_products WHERE name, description LIKE '%:relatedSearch%'");
$query -> bindParam("relatedSearch", $relatedSearch, PDO::PARAM_STR);
if($query -> execute()) {
while($related = $query->fetch(PDO::FETCH_OBJ)) {
echo $related->title . "</br>";
}
}
为什么它不返回包含我用 LIKE 搜索的值的行?
【问题讨论】:
-
为什么不返回行?你读过错误信息吗?这表示您的查询中有 语法错误。您不能制作 a、b 列的列表并将其与单个参数匹配,而不用 OR 或 AND 来区分 then ,即参见@Matt 的答案。
-
感谢大家的回答。没有错误了。但不知何故,当我把它放在查询中时,它并没有从查询中获取数据。我现在尝试回显 $related->description 但它没有回显。并且数据库中应该有更多与 $relatedSearch 变量匹配的单词。数据库截图:puu.sh/eep39/6920910c76.png
标签: php sql sql-server sql-server-2008 sql-like