PDO准备语句不处理参数

时间:2010-03-12 17:27:56

标签: php mysql singleton pdo

我已经用尽所有努力看似微不足道的问题了,但却无处可去。

有一个简单的准备声明:

$qry = $core->db->prepare("SELECT * FROM users WHERE email = '?'");
$qry->execute(array('email@address.com'));

但是,不返回任何行。使用硬编码到查询中的参数运行查询会导致成功选择一行。我已经尝试了许多不同的准备方法,但即便如此,这种最简单的形式也无法正常使用。

PDO对象存储在名为Core的单例中。 PDO正在使用mysql驱动程序。

1 个答案:

答案 0 :(得分:5)

从查询中删除引号:

("SELECT * FROM users WHERE email = ?");

使用占位符(?符号)的原因是忘记引号。 PDO会自动添加它们。