我正在尝试在使用PDO访问SQLite3数据库的PHP脚本中使用预准备语句。

此查询的正常版本按预期工作:

$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 - <!> gt; execute(array(<!> quot; apple <!> quot;));

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top