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

MySQL групово вмъкване чрез PHP

Ако използвате подготвен израз, можете да превъртите през вашия $JSON_data масив с цикъл foreach и стартирайте INSERT с тази част от данните.

Използването на подготвени изрази ще намали разходите за изграждане на заявката, просто изпращайки новите данни към базата данни при всяка итерация на цикъла.

$query = mysqli_prepare("INSERT INTO `MyTable` (`col1`,`col2`,`col3`)
    VALUES(?,?,?)");

foreach($JSON_data as $key => $value) {
    $query->bind_param('sss',$value["prop1"],$value["prop2"],$value["prop3"];
    $query->execute();
}

Обърнете внимание, че първият аргумент на bind_param() казва колко стойности ще обвързвате, както и типа за всяка стойност.
s съответства на низови данни, i съответства на целочислени данни, d съответства на двойно (с плаваща запетая) и b съответства на двоични данни.

Още една предупредителна дума, НЕ цитирайте всички низови данни като s datatype казва на mysql да очаква низ. Ако цитирате ? в подготвеното изявление ще ви каже, че броят на параметрите е грешен. Ако цитирате низовете, те ще бъдат цитирани в mysql.

РЕДАКТИРАНЕ:

Ако искате да използвате една и съща парадигма (вмъкване на няколко реда с една заявка), има начини да го направите. Един от начините е да създадете клас, който ще агрегира bind_param извиквания и направете един bind_param, когато изпълните заявката. Кодът за това е тук .



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

  2. Strange MySQL Popup Mysql Installer работи в режим на общност

  3. mysql вмъкване, ако стойността не съществува в друга таблица

  4. Заключване на mysql таблица с php

  5. Грешка при неправилна стойност на низа в MySQL при запазване на Unicode низ в Django