Я пытаюсь сделать уникальный запрос на вставку нескольких элементов в мою базу данных, чтобы не делать несколько запросов.
Вот мой "сгенерированный" запрос, который работает в SQL (проверено в PHPMYADMIN).
INSERT INTO my_table (id, user) VALUES (1,2), (3,4)
Сгенерировано этим кодом.
$query = 'INSERT INTO my_table (id, user) VALUES ';
$data = array(
array(1, 2),
array(3, 4)
);
$request = '';
foreach($data as $data)
{
$request .= '(' . implode(',', $data) . '), ';
}
$request = substr($request, 0, -2);
//Insert in DB
$req = $db->prepare($request);
$req->execute();
Но я получаю эту ошибку в PHP
Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1,2), (3,4)' at line 1 in testfonction.php:47 Stack trace: #0 testfonction.php(47): PDO->exec('(1,2), (3,4)') #1 structure_gc.php(32): require('/v...') #2 index.php(22): require('/v...') #3 {main} thrown in testfonction.php on line 47
Знаете ли вы, почему этот запрос не работает, когда я пытаюсь использовать его с PHP? Спасибо !
Покажите нам окончательный SQL-запрос, который был передан для подготовки.