Latest web development tutorials
×

PHP курс

PHP курс PHP Краткое введение PHP устанавливать PHP грамматика PHP переменная PHP echo/print PHP Типы данных PHP постоянная PHP строка PHP операторы PHP If...Else PHP Switch PHP массив PHP Сортировка массива PHP Суперглобальные PHP While циркуляция PHP For циркуляция PHP функция PHP Магические Переменные PHP Пространства имен PHP Объектно-ориентированный

PHP форма

PHP форма PHP Аутентификация с помощью форм PHP форма - Обязательные для заполнения поля PHP форма - Проверка электронной почты и URL PHP Полный экземпляр формы PHP $_GET переменная PHP $_POST переменная

PHP Расширенный учебник

PHP Многомерные Массивы PHP дата PHP содержать PHP файл PHP Загрузка файлов PHP Cookie PHP Session PHP E-mail PHP безопасности E-mail PHP Error PHP Exception PHP фильтр PHP Расширенный фильтр PHP JSON

PHP 7 Новые возможности

PHP 7 Новые возможности

PHP база данных

PHP MySQL Краткое введение PHP MySQL подключение PHP MySQL Создание базы данных PHP MySQL Создание таблицы данных PHP MySQL Вставка данных PHP MySQL Вставка нескольких данных PHP MySQL Подготовленные выражения PHP MySQL Считывание данных PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX Краткое введение AJAX PHP AJAX база данных AJAX XML AJAX Поиск в реальном времени AJAX RSS Reader AJAX голосование

PHP справочное руководство

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP обработка изображений PHP RESTful

PHP MySQL вставить несколько данных

Используйте MySQLi и PDO MySQL для вставки нескольких данных

Функция mysqli_multi_query () используется для выполнения нескольких операторов SQL.

Ниже приведены примеры для "MyGuests" таблицу добавлены три новые записи:

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

<? Php
$ Servername = "локальный";
$ Имя пользователя = "Имя пользователя";
$ Password = "пароль";
$ DBNAME = "MyDB";

// Создать ссылку
$ Conn = новый MySQLi ($ ServerName, $ имя пользователя, пароль $, $ имя_бд);
// Проверка ссылки
если ($ conn-> connect_error) {
умереть ( "Не удалось установить соединение:" $ conn-> connect_error.);
}

$ Sql ​​= "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Джон', 'Doe', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Мэри', 'Мо', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Джули', 'Дули', '[email protected]') ";

если ($ conn-> multi_query ($ SQL) === TRUE) {
Эхо "Новая запись вставляется успешно";
} Else {
. Эхо "Ошибка:" $ SQL "<br>" $ conn-> ошибка; ..
}

$ Conn-> близко ();
?>

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

Примеры (MySQLi - процессно-ориентированный)

<? Php
$ Servername = "локальный";
$ Имя пользователя = "Имя пользователя";
$ Password = "пароль";
$ DBNAME = "MyDB";

// Создать ссылку
$ Conn = mysqli_connect ($ ServerName, $ имя пользователя, пароль $, $ имя_бд);
// Проверка ссылки
если (! $ Conn) {
умереть ( "Не удалось установить соединение:" mysqli_connect_error ().);
}

$ Sql ​​= "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Джон', 'Doe', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Мэри', 'Мо', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Джули', 'Дули', '[email protected]') ";

если (mysqli_multi_query ($ сопп, $ SQL)) {
Эхо "Новая запись вставляется успешно";
} Else {
. Эхо "Ошибка:" $ SQL "<br>" mysqli_error ($ Conn); ..
}

mysqli_close ($ Conn);
?>


Примеры (PDO)

<? Php
$ Servername = "локальный";
$ Имя пользователя = "Имя пользователя";
$ Password = "пароль";
$ DBNAME = "myDBPDO";

попробуйте {
$ Conn = новый PDO ( "MySQL: хост = $ имя_сервера; имя_бд = $ имя_бд", $ имя пользователя, пароль $);
// Установить режим ошибки PDO для исключения
$ Conn-> SetAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

// Начать транзакцию
$ Conn-> НачатьТранзакцию ();
// SQL заявление
$ Conn-> Exec ( "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Джон', 'Doe', '[email protected]') ");
$ Conn-> Exec ( "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Мэри', 'Мо', '[email protected]') ");
$ Conn-> Exec ( "INSERT INTO MyGuests (Firstname, Lastname, электронная почта)
VALUES ( 'Джули', 'Дули', '[email protected]') ");

// Подтверждать транзакцию
$ Conn-> совершить ();
Эхо "Новая запись вставляется успешно";
}
поймать (PDOException $ е)
{
// Если Откат терпит неудачу
$ Conn-> Откат ();
.. Эхо $ SQL "<br>" $ e-> GetMessage ();
}

$ Conn = NULL;
?>



Используйте подготовленные заявления

MySQLi расширение предоставляет второй способ вставки заявления.

Мы подготовили заявления и связанные параметры.

расширение MySQL может передавать данные без заявления или запроса к базе данных MySQL. Вы можете связать или "связывать" переменные в столбцах.

Примеры (MySQLi с использованием подготовленных операторов)

<? Php
$ Servername = "локальный";
$ Имя пользователя = "Имя пользователя";
$ Password = "пароль";
$ DBNAME = "MyDB";

// Создать соединение
$ Conn = новый MySQLi ($ ServerName, $ имя пользователя, пароль $, $ имя_бд);
// Проверка соединения
если ($ conn-> connect_error) {
умереть ( "Не удалось установить соединение:" $ conn-> connect_error.);
} Else {
$ Sql ​​= "INSERT INTO MyGuests ЗНАЧЕНИЯ (?? ,,?)";

// Для mysqli_stmt_prepare () объекты инициализации выписки
$ Stmt = mysqli_stmt_init ($ Conn);

// Подготовлен Заявление
если (mysqli_stmt_prepare ($ STMT, $ SQL)) {
// Параметры Bind
mysqli_stmt_bind_param ($ STMT, 'SSS', $ Firstname, $ Lastname, $ электронная почта);

// Установить параметры и выполнить
$ Firstname = 'John';
$ Lastname = 'Doe';
$ E-mail = '[email protected]';
mysqli_stmt_execute ($ STMT);

$ Firstname = 'Мэри';
$ LastName = 'Moe';
$ E-mail = '[email protected]';
mysqli_stmt_execute ($ STMT);

$ FirstName = 'Julie';
$ LastName = 'Дули';
$ E-mail = '[email protected]';
mysqli_stmt_execute ($ STMT);
}
}
?>

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

Примечание связанные параметры. Давайте посмотрим на mysqli_stmt_bind_param () код:

mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

Связывание аргументы запроса и передать параметры в базу данных. Второй параметр "SSS". В приведенном ниже списке показывает тип параметра. s символ говорит MySQL аргумент является строкой.

Может быть следующие четыре параметра:

  • я - целое число,
  • d - двойной точности с плавающей точкой
  • s - строка
  • б - логическое значение

Каждый тип параметра должен быть указан для обеспечения безопасности данных. По типу суждения может уменьшить риск SQL Injection уязвимости.