我正在尝试在PHP脚本中使用预准备语句,该脚本使用PDO访问SQLite3数据库.
此查询的正常版本按预期工作:
$q1 = "SELECT COUNT(*) FROM fruits WHERE name='apple'"; echo $db->query($q1)->fetchColumn();
但是,我准备好的语句版本没有输出.
$q2 = "SELECT COUNT(*) FROM fruits WHERE name='?'"; $s = $db->prepare($q2); $s->execute("apple"); echo $s->fetchColumn();
我究竟做错了什么?我尝试使用PHP 5.2和PHP 5.3,结果相同.
我认为你之前和之后都不需要额外的撇号?你应该使用一个数组:$ s-> execute(array("apple"));