0

我正在尝试在使用 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,结果相同。

4

1 回答 1

6

我认为您在 ? 之前和之后不需要额外的撇号。你应该使用一个数组: $s->execute(array("apple"));

于 2009-06-24T03:28:28.783 回答