Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP подготвя оператори и транзакции в цикъл

Вашият цикъл може да бъде оптимизиран чрез изтегляне на prepare и bind_param оператори извън цикъла.

$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();

Изключили сте автоматичното записване с вашия autocommit(FALSE) ред и следователно не е необходимо да използвате START TRANSACTION изявление.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. създаване на база данни за проследяване кои потребители са щракнали върху кои връзки?

  2. Какви са предимствата на използването на връзка един към един? (MySQL)

  3. Spring data JPA:получаване Не са намерени псевдоними в кортежа с резултати! грешка при изпълнение на персонализирана заявка

  4. Как да огранича броя на редовете на стойност на полето в SQL?

  5. PHP PDO MySQL Структура на транзакционен код