ぷろめし|プログラミングよりも飯が好きHomeHome軽い備忘録PHPMySQLPDOでテーブル名が変数で使えないのはPDOStatementがサポートしていないから遅ればせながらMysqlをPDOで動かすように心を決めて、8時間が経過しました。引っかかりまくりの憎悪渦巻く殺伐とした精神状態です。そんな状態の私が、同じ状態になっているPDO初心者に役立つ情報をお送りします。PDOでテーブル名を変数で渡すとエラーが出る私は名前付きプレースホルダを使いたい人ですが、その場合、変数をバインドする必要があります。バインドする時には以下のように指定しますが、これをテーブル名でもやってみたのです。PDO::PARAM_STR);$ins->execute();この状態だとエラーを吐きます。1ざっくりエラーの内容を説明すると、「構文が間違っとるばい!Mysqlのバージョン確認してマニュアル読んで出直してこい!」ってな感じ。エラーの原因は、PDOStatement(bindParam)はカラムの値に使用するものでテーブルには使えないというのが答え。PDOの正しい書き方エラーを出さずに実行するためにはテーブル名のバインドをやめて、直接埋め込むしかありません。PDO::PARAM_STR);$ins->execute();これでエラーを出さずに値をインサートすることが出来ました。真性のお家大好きフリーランスです。プログラムよりご飯の方が断然好き!博多出身のデブデザイナー。Cloudがそんなに良いのか?CCとCSの違い。Getewayの原因と意味についてフォトショップのドロップレットが通信できない。エラーの解決方法はこれだ!MySQLのレコードが何行くらいが限界か知るよりパフォーマンス上げる方が建設的サンダーバードの本文URLをクリックしても動かない。