sql >> Database >  >> RDS >> Mysql

PHP bereidde verklaringen en transacties in een lus voor

Je loop kan worden geoptimaliseerd door de prepare en bind_param uitspraken uit de lus.

$value = null;
$mysqli->autocommit(FALSE);
$sql  = "INSERT INTO temp (`fund_id`) VALUES (?)";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('i', $value);
foreach ($pdata as $value) {
    $stmt->execute();
}
$mysqli->commit();

Je hebt autocommit uitgeschakeld met je autocommit(FALSE) regel en hoeven daarom niet de START TRANSACTION . te gebruiken verklaring.




  1. Prisma, hoe de database te wissen

  2. Impact van uitvoeringsplan op ASYNC_NETWORK_IO Wachten - Deel 1

  3. IS NOT NULL-test voor een record retourneert niet TRUE wanneer variabele is ingesteld

  4. Index viel buiten de grenzen van de array. (Microsoft.SqlServer.smo)