###前提・実現したいこと
PHP5.6 + MySQL5.6でWebサイトを作成しています。
開発環境でテストしたモジュールを
検証環境にデプロイしたところ
バインド変数を指定するSQLでエラーが発生しました。
###発生している問題・エラーメッセージ
Error: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
バインド変数が一致しないエラーが発生しています。
エラーとなるのは以下の×の場合です。
×のコードでも開発環境では動いていました。
sql
1 2// バインド変数2個 指定したパラーメータ2個 3○ select * from tableA where id = :id and date1 = :date 4params('id' => '100','date' => '2015/06/21') 5 6// バインド変数3個 指定したパラメータ2個 7○ select * from tableA where id = :id and date1 = :date and date2 = :date 8params('id' => '100','date' => '2015/06/21') 9 10// バインド変数に使用した値が使われていない(下の場合はName) 11× select * from tableA where id = :id and date = :date 12params('id' => '100','date' => '2015/06/21','name' => 'hoge') 13 14 15
###試したこと
my.cnfを開発環境に合わせる
###補足情報(言語/FW/ツール等のバージョンなど)
開発環境と検証環境でphpのバージョンが異なります。
開発環境:php5.5
検証環境:php5.6
しかし、5.5→5.6で本事象が発生したということは聞かず。。。
MySQLまたはPDOの設定が違うのでは無いかと
調査しております。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。