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);

詳しい原因まで追究していないが、まずはエラーが回避できてよかった。

こんなことで僕の半日がつぶれ、残業確定だ・・・・トホホ