САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Формы PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

PHP Продвинутый

PHP Мульти массивы PHP Дата и время PHP Подключение PHP Обработка файлов PHP Открыть файл PHP Создать файл PHP Загрузить файл PHP Файлы cookie PHP Проведение сессий PHP Фильтры PHP Расширенные фильтры PHP Обработка ошибок PHP Обработка исключений

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой Поиск AJAX RSS Считывание AJAX Опрос

PHP Примеры

PHP Примеры

PHP Справочник

PHP Краткий обзор PHP Массив PHP Календарь PHP Дата/Время PHP Директория PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP JSON PHP Libxml PHP Почта PHP Математика PHP Различные PHP MySQLi PHP Локальная сеть PHP Регулярное выражение PHP Простой XML PHP Поток PHP Строки PHP Переменная обработка PHP XML Парсер PHP Zip файлы PHP Часовой пояс

PHP5 MySQL Вставить записи



MySQL Вставить несколько записей, используя mysqli и PDO

Несколько заявлений SQL должны быть выполнены функцией mysqli_multi_query().

В следующих примерах добавляются три новых записи в таблице "MyGuests":

Пример MySQLi - объектно-ориентированный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDB"; // база данных

// Создание соединения
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка соединения
if ($conn->connect_error) {
   die("Ошибка подключения: " . $conn->connect_error);
}

// Вставить записи
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Сергей', 'Щипунов', 'ser-shipunov@mail.ru');";

$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Сергей', 'Петров', 'ser-petrov@mail.ru');";

$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Иван', 'Сидоров', 'ivan-sidorov@mail.ru')";

if ($conn->multi_query($sql) === TRUE) {
   echo "Успешно созданы новые записи";
} else {
   echo "Ошибка: " . $sql . "<br>" . $conn->error;
}

// Закрыть подключение
$conn->close();
?>

Обратите внимание, что каждая инструкция SQL, должна быть разделена точкой с запятой.

Пример MySQLi - процессуальный

<?php
// Подключение к MySQL
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDB"; // база данных

// Создание соединения
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Проверка соединения
if (!$conn) {
    die("Ошибка подключения: " . mysqli_connect_error());
}

// Вставить записи
$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Сергей', 'Щипунов', 'ser-shipunov@mail.ru');";

$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Сергей', 'Петров', 'ser-petrov@mail.ru');";

$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Иван', 'Сидоров', 'ivan-sidorov@mail.ru')";

if (mysqli_multi_query($conn, $sql)) {
   echo "Успешно созданы новые записи";
} else {
   echo "Ошибка: " . $sql . "<br>" . mysqli_error($conn);
}

// Закрыть подключение
mysqli_close($conn);
?>

PDO - способ немного отличается:

Пример PDO

<?php
$servername = "localhost"; // локалхост
$username = "root"; // имя пользователя
$password = ""; // пароль если существует
$dbname = "myDBPDO"; // база данных

try {
   $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
   // установить режим ошибки PDO в исключение
   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

   // Начать транзакцию
   $conn->beginTransaction();
   // Вставить записи
   $conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
   VALUES ('Сергей', 'Щипунов', 'ser-shipunov@mail.ru')");
   $conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
   VALUES ('Сергей', 'Петров', 'ser-petrov@mail.ru')");
   $conn->exec("INSERT INTO MyGuests (firstname, lastname, email)
   VALUES ('Иван', 'Сидоров', 'ivan-sidorov@mail.ru')");

   // Зафиксировать транзакцию
   $conn->commit();
   echo "Успешно созданы новые записи";
   }
catch(PDOException $e)
    {
   // Откат транзакции, если что-то не удалось
   $conn->rollback();
   echo "Ошибка: " . $e->getMessage();
   }

// Закрыть подключение
$conn = null;
?>