バルクインサートに関して
表題ですが、
mysqliを使ってバルクインサートを行いたいのですが、
データ量が可変の場合のやり方がわからず、ご助言頂ければと存じます。
現在のコード。
$stmt = $mysqli->prepare("INSERT INTO mail_result.mails (NO,sessionID,Subject,ToAdd,FromAdd,Cc,Bcc,Date,AttachedFile,flag,RegistDate) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 0, NOW())");
$bind_param = $stmt->bind_param('dsssssssi', $a, $b, $c, $d, $e, $f, $g, $h, $j);
for ($i = 2; $i < count($obj[0]) + 2; $i++) {
$a = $obj[0][$i][0];
$b = $sessionID;
$c = $obj[0][$i][1];
$d = $obj[0][$i][2];
$e = $obj[0][$i][3];
$f = $obj[0][$i][4];
$g = $obj[0][$i][5];
$h = $date = date('Y-m-d H:i:s', $obj[0][$i][6]);
$j = $obj[0][$i][7];
$stmt->execute();
}
これだと1件ずつのインサートなので、
prepareで(?, ?, ?, ?, ?, ?, ?, ?, ?, 0, NOW())をcount($obj[0])分、入れたいのですが、
可変時の変数の指定方法がわからず、ご助言頂ければ幸いです。
お礼
リンク先のページを参考にしたところうまくいきました。ありがとうございました。