関連記事
2021.04.22
2021.06.30
execute(配列)bindValueどっちがいいの?
この記事の動画版はこちら(画像クリックでYoutubeに飛びます)
チャンネル登録お願いします!
今回は、講座の受講生さんから頂いたご質問を紹介します。
同じような疑問をお持ちの方は、ぜひ参考にしてみてください。
質問内容
PDOを使ってデータベースに接続する際の書き方ですが、色々なパターンがあり混乱しています。
例えば、このようなSELECT文を実行する場合、
3行目の部分
これは、このように書いてはダメなのでしょうか?
このようなご質問でした。
回答内容
これに対して、僕がお答えした内容はこんな感じです。
bindValueを使った書き方でも問題ありません。
プレースホルダに対して、実際の値を設定(バインド)する方法は2通りあり、
1つは「executeの引数として配列を渡す方法」
もう1つは「bindValueで1つずつ設定する方法」です。
プレースホルダの数が多い場合は、前者の方法だと1行が長くなってしまい見づらくなるのとbindValueの場合は、設定するデータの「型」も指定することができるため、基本的には後者(bindValue)の方法を使用する形が良いかと思います。
ということで、
結論
bindValueを使おう!
ということでした。
同じような疑問をお持ちの方は、ぜひ参考にしてみてくださいね。
なお、PHPからデータベースを操作する基本的な手順や、プレースホルダとは何か?ということについては別の記事で説明しているので、そちらもぜひ学習してみてください。