PDOのbindParamを使った複数行をInsertする手法はどのようにするのでしょうか?
現在、下記のように $inserDate の連想配列に入ったデータを
1行ずつ insert しています。
データ数(insert回数)が増えるととても遅くなるので,
SQLを普通に書いた場合、VALUES部を ',' で繋げて
spl
1INSERT INTO user_info (memberId, name, birthday, nickname) 2 VALUES 3 ("mh0001", "abc" ,"1980/01/01" , "hogehoge"), 4 ("mh0002", "efg" ,"1980/02/01" , "warawara"), 5 : 6 : 7 : 8 ("mh9999", "xyz" ,"1980/12/01" , "gosogoso") 9
このように行う思いますが、下記のようなPDO bindParamを使用した
insert の場合はどのように、実現させれば良いでしょうか?(そもそも、無理?!)
ご教授よろしくお願いいたします。
PHP
1 2$sql = "INSERT INTO user_info (memberId, name, birthday, nickname) "; 3$sql .= "VALUES (:memberId , :name ,:birthday , :nickname)"; 4 5foreach ($inserDate as $rawData){ 6 7 $sqlParams = array( 8 ":memberId" => $rawData['memberId'], 9 ":name" => $rawData['name'], 10 ":birthday" => $rawData['birthday'], 11 ":nickname" => $rawData['nickname'], 12 ); 13 14 $sth = $pdo->prepare($sql); 15 $sth->bindParam(':memberId', $params[':memberId'], PDO::PARAM_STR); 16 $sth->bindParam(':name', $params[':name'], PDO::PARAM_STR); 17 $sth->bindParam(':birthday', $params[':birthday'], PDO::PARAM_STR); 18 $sth->bindParam(':nickname', $params[':nickname'], PDO::PARAM_STR); 19 20 $sth->execute(); 21} 22

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。