検索しやすいので名前付けプレースホルダを使ってSQLを書いていたのですが、「サポートしてないから疑問符プレースホルダを使ってほしい」と指摘が入りました。
…が、別に名前付けプレースホルダでも想定通りの結果が得られています。順序を変えても問題ありません。
今更、秀丸エディタで', 'を', :'で全置換して書いたSQLをすべて疑問符に書き換えるのは面倒臭くてそのままにしていたのですが、なぜこの指摘が入ったのか気になったので調べてみました。
結論
MySQLのバージョンが5.6系だから
教えて!Google先生
「php mysql bind 疑問符」でググったトップに出てくるteratailの回答がアンサーでした。
MySQL - SQLで名前つきでない疑問符プレースホルダがよく使われるのはなぜでしょうか?|teratail
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.5.1 PREPARE 構文
想定通りの結果を得られているけど、疑問符プレースホルダに書き換えるべきなのか…。