Несколько SQL-запросов должны быть выполнены с помощью функции mysqli_multi_query(). Следующие примеры добавляют три новые записи в таблицу «MyGuests»:
<?php
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
// Создание подключения
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка подключения
if ($conn -> connect_error) {
die("Connection failed: {$conn -> connect_error}");
}
$sql = 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("John", "Doe", "john@example.com");';
$sql .= 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("Mary", "Moe", "mary@example.com");';
$sql .= 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("Julie", "Dooley", "julie@example.com")';
if ($conn -> multi_query($sql) === true) {
print('New records created successfully');
} else {
print("Error: {$sql}<br>{$conn -> error}");
}
$conn -> close();Обратите внимание, что каждый оператор SQL должен быть разделен точкой с запятой.
<?php
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
// Создание подключения
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Проверка подключения
if (!$conn) {
die('Connection failed: ' . mysqli_connect_error());
}
$sql = 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("John", "Doe", "john@example.com");';
$sql .= 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("Mary", "Moe", "mary@example.com");';
$sql .= 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("Julie", "Dooley", "julie@example.com")';
if (mysqli_multi_query($conn, $sql)) {
print('New records created successfully');
} else {
print("Error: {$sql}<br>" . mysqli_error($conn));
}
mysqli_close($conn);<?php
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
try {
$conn = new PDO(
"mysql:host={$servername};dbname={$dbname}",
$username,
$password
);
// установка режима ошибки PDO на исключение
$conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// запуск транзакции
$conn -> beginTransaction();
// наши SQL-запросы
$conn -> exec('INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("John", "Doe", "john@example.com")');
$conn -> exec('INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("Mary", "Moe", "mary@example.com")');
$conn -> exec('INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("Julie", "Dooley", "julie@example.com")');
// фиксация транзакции
$conn -> commit();
print('New records created successfully');
} catch(PDOException $e) {
// откат транзакции, если что-то не удалось
$conn -> rollback();
print("Error: {$e -> getMessage()}");
}
$conn = null;