PHP8.1でSQLSTATE[HY093]: Invalid parameter numberエラー
PHP7.4からPHP8.1に上げた際、それまで問題なく動いていたPHPプログラムでSQLSTATE[HY093]: Invalid parameter numberエラーが出た。
色々調べると、LIKEを使用したあいまい検索の書き方が間違っていた。
($search
の代入部分は今回のエラーに関係ないので割愛)
いままで'%$search%'
を$sql
に入れていたけど、そうではなく、bindValueの第二引数に入れる。
PHP8からの仕様ということではなく、いままではこの書き方でもエラーにならなかったというだけのことらしい。