Как через php pdo отправлять пачкой запросы mysql?

285
26 ноября 2016, 20:15

Работаем через PDO c mysql, это очень важно. Делаю как тут http://php.net/manual/ru/pdo.prepared-statements.php

$stmt = $dbh->prepare ("INSERT INTO user (firstname, surname) VALUES (:f-name, :s-name)");
$stmt -> bindParam(':f-name', 'John');
$stmt -> bindParam(':s-name', 'Smith');
$stmt -> execute();

Как можно инсертов отправить много, по 100 по 1000 штук?

Что то никак не могу понять про процедуры

знаете как в mysql перечесляешь INSERT INTO user () VALUES (),(),(),();

Answer 1

В pdo есть транзакции и подготовленные выражения

http://php.net/manual/ru/pdo.commit.php

$dbh->beginTransaction();
/* Вставка множества записей по принципу "все или ничего" */
$sql = 'INSERT INTO fruit
    (name, colour, calories)
    VALUES (?, ?, ?)';
$sth = $dbh->prepare($sql);
foreach ($fruits as $fruit) {
    $sth->execute(array(
        $fruit->name,
        $fruit->colour,
        $fruit->calories,
    ));
}
/* Фиксация изменений */
$dbh->commit();

Но я не уверен, что это поможет.

READ ALSO
Не запускается mysql

Не запускается mysql

ОС debian + MariaDbВыдает

287
Как организовать хранение ссылок в базе MySQL

Как организовать хранение ссылок в базе MySQL

Есть страница авторизации, на которой пользователь вводит свой логин и пароль, дальше ему становятся видны доступные ссылкиСами ссылки со страницами...

334
Как восстановить базу данных mysql XAMMP?

Как восстановить базу данных mysql XAMMP?

Умерла система на компе, остались только файлы xammp , в ней таблицы, но вот их копирую в папку нового xammp и mysql не запускается( как их можно восстановить...

227
Ошибка mysql The Error returned was:

Ошибка mysql The Error returned was:

MySQL error in file: /engine/inc/addnewsphp at line 864 Error Number: 1364 The Error returned was: Field 'kp_id_movie' doesn't have a default value

242