質問: $pdo->prepare($sql); ``` とかやったらどうなんだろう?ダメなの?なんで? ってなっちゃいます。 分かりやすく解説頂けると助かります。 宜しくお願いします。
回答: > > prepareとexecuteはセットでINSERTするときに使うとおもっています。 > > > INSERT, UPDATE, SELECT だからということではありません。 SQLに何らかの**変数を割り当てしたいとき**に利用します。 変数の割り当てが必要ないときは `query()` を利用することもできます。 例えば、 ``` $sql = 'SELECT * FROM table WHERE id = ?'; ``` ``` $sql = 'UPDATE table SET name = ? WHERE id = ?'; ``` ``` $sql = 'INSERT INTO table VALUES (?, ?)'; ``` > > そのセットしたsql文をexecuteでバインドしていく。 > > > 違います。あくまで execute は「実行する」という意味です。 引数に配列を渡したときにあくまで「便利機能」としてバインド「も」やってくれているということです。