我有很多查询,其中绑定的变量需要多次使用。这是一个简单的例子。
$stmt = $db->prepare('SELECT SUM(col1),
(SELECT SUM(col2)
FROM table2
WHERE col3 > :val) as quantity
FROM table1
WHERE col4 = :val');
当我做这样的事情时,我总是得到错误:
错误!:SQLSTATE [HY093]:...中的参数号无效。
我通常无法做出像
这样的事情WHERE col3 = col4
换句话说,有些情况下我只需要多次使用绑定变量。在过去,我只是使用略有不同的名称多次绑定值。
是否可以多次使用绑定变量?
答案 0 :(得分:2)
将PDO::ATTR_EMULATE_PREPARES
设置为TRUE
或使用“略有不同的名称”方法。