【发布时间】:2012-08-18 07:50:33
【问题描述】:
使用 PHP v. 5.2.14 和 PDO-MySQL 扩展。
我是准备好的陈述的新手。需要创建一个搜索表单(以便用户输入)和一个“Select all X where X like...”品种的工作查询。
代码和结果:
$sql = 'SELECT COUNT(*) as num_books from t_books where title LIKE :search_term';
// Later access as num_books
$prep = $dbh->prepare($sql);
$num = $prep->execute(array(':search_term' => '%'.$search_term. '%'));
$total=$num->fetchColumn();
$prep 的变量转储: object(PDOStatement)#2 (1) { ["queryString"]=> string(58) "SELECT COUNT(*) from t_books where title LIKE :search_term" }
致命错误:在非对象上调用成员函数 fetchColumn()
如果 $prep 是一个对象,那么 $num 应该是一个对象。但它是布尔值(真)。这里发生了什么?
但更重要的是,我该如何计数?
我读到了Row count with PDO -。那里的建议对我不起作用,因为我需要准备好的声明。会有用户输入。
感谢您的帮助。
【问题讨论】:
标签: php mysql pdo prepared-statement