揮発性のメモ2

http://d.hatena.ne.jp/iww/

PDOでクエリに同じ変数が何回も出てくるとき

$sql='SELECT * FROM user_table WHERE uid=:uid OR child_uid=:uid';
$sth = $dbh->prepare( $sql );
$sth->execute( array('uid'=>$uid) );

こんな感じで同じパラメータを使いまわすことは出来ない。
このまま実行すると後ろの方のパラメータは0とか''の扱いにされてしまう。

$sql='SELECT * FROM user_table WHERE uid=:uid OR child_uid=:child_uid';
$sth = $dbh->prepare( $sql );
$sth->execute( array('uid'=>$uid, 'child_uid'=>$uid) );

横着をせずに、出てきた分だけパラメータを指定しないとだめ。