挿入した自動インクリメント フィールドの insert_id を取得しようとするスクリプトがあります。
$db = new mysqli("localhost", "user", "pass", "db");
for($xx=0;$xx<$quantity;$xx++){
//quantity is the total number of tickets bought
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
//exit();
}
$payer_email = $db->real_escape_string($payer_email);
$name = $db->real_escape_string($name);
$query = "INSERT INTO `ticketsConference2013` VALUES (NULL, '".$payer_email."', '".$name."', null)";
$db->query($query);
$ticketIdIs="";
$ticketIdIs = $db->insert_id;
$html.='<p style="text-align:center;line-height:100%">Ticket number'.$ticketIdIs.'</p>';
$textIs = $name." ".($xx+1)." of ".$quantity;
$pdf->writeHTML($html, true, false, true, false, '');
$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1);
$pdf->write1DBarcode($textIs, 'C39', '', '', '', 18, 0.4, $style, 'N');
}
$db->close();
データベースに正常に挿入されますが、実行されるたびに挿入IDは最初の挿入番号のみを提供します。データベース内の実際の挿入数は反映されません。
これについて少し読んだことがありますが、いじってもうまくいきません