PDO prepareメソッド

PHP

PDOを使用する際、query()メソッドでもSQL文を実行することができますが、prepare()というメソッドを使用すると、値だけが変わるSQL文を何度も実行する場合は、変化する値だけを与えて実行することで、実行のコストを下げることができます。

また、SQLインジェクション対策にもなりますので、やってみましょう!

例:(id=1, name=’naruto’),(id=2, name=’sasuke’)という配列を、namelistというテーブルに挿入する

 //データベースへ接続 例ではsqliteになってますが、適宜環境に応じて変更してください
 $dbh=newPDO('sqlite:/******');
 
 //prepareによる実行準備
 
 $sql="INSERT INTO namelist (id,name)
 VALUES(:id,:name)";
 
 $stmt=$dbh->prepare($sql);
 
 //データの配列
 
 $names=array(array('id'=>1, 'name'=> 'naruto'),
 array('id'=>2, 'name' => 'sasuke')); 
 
 //配列の値を、一つずつexecuteを使って実行
 foreach($names as $name){	
 $stmt->execute($name);
 }

参考
PDOでMySQLに接続

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です