【发布时间】:2017-12-31 02:16:37
【问题描述】:
我想尝试使用 bindParam 从数据库中显示我的数据,但我遇到了一些错误。
可恢复的致命错误:无法将 PDOStatement 类的对象转换为第 15 行 C:\xampp\htdocs\piratefiles\search.php 中的字符串
这是我的代码
$category = htmlentities($_GET['c']);
$query = htmlentities($_GET['q']);
$page = (isset($_GET['page'])) ? $_GET['page'] : 1;
$limit = 20;
$limit_start = ($page - 1) * $limit;
$query = $db->prepare ("SELECT * FROM `posting` WHERE 'category' = :category AND 'file_name' like :query ORDER BY date DESC LIMIT ".$limit_start.",".$limit);
$query->bindParam(":category", $category);
$query->bindParam(":query", $query);
$query->execute();
【问题讨论】:
-
你正在用你准备好的语句覆盖
$query-变量。首先是$query = htmlentities($_GET['q']);,然后是$query = $db->prepare(...),最后是$query->bindParam(":query", $query);。对不同的事物使用不同的变量名。 -
啊,我忘了。谢谢。但我使用
LIKE添加了一些代码。编辑我的问题。现在工作正常。