PDOでMySQLからデータ検索する際ワイルドカード(%)を使うとエラーになった件
PDOを使用してデータベースから値を抽出しようと思い
あいまい検索を使用したところエラーが出た。
try、catchでも引っかからないので正確にはエラーではなく実行時エラー?
とかく画面が白くなり、エラーも出力されない。
ざっくり見るとコード上悪いところは見当たらなかったので、
地味に一行一行コメントアウトしていくと、どうやらバインドしているところで
エラーが出ているっぽい。
$stmt = $pdo->prepare("select * from table where name like :name;"); $stmt->bindParam(':name',"\". $name."\", PDO::PARAM_STR);
上記コードを実行するとエラーが出た。
PDOマニュアルを読み直してみた
英文で難しいがコードを見ていると分かった。
どうやら一旦変数にセットしないといけないようだ
$stmt = $pdo->prepare("select * from table where name like :name;"); $name = "\". $name . "\"; $stmt->bindParam(':name',$name, PDO::PARAM_STR);
詳しい原因まで追究していないが、まずはエラーが回避できてよかった。
こんなことで僕の半日がつぶれ、残業確定だ・・・・トホホ