バインドされた変数を複数回使用する必要があるクエリがたくさんあります。簡単な例を次に示します。
$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
つまり、バインドされた変数を複数回使用する必要がある場合があります。以前は、わずかに異なる名前で値を複数回バインドしました。
バインドされた変数を複数回使用することは可能ですか?