Логотип

PHP MySQL. Вставка данных в таблицу

PHP MySQL

Описание : в этой статье вы узнаете, как использовать PHP PDO для вставки данных в таблицу MySQL.

Мы будем использовать таблицу tasks, созданную в руководстве по созданию таблиц PHP MySQL. Если вы еще не создали таблицу tasks, пожалуйста, следуйте учебнику и создайте ее, прежде чем продолжить работу с этой статьей.

Следующая картинка иллюстрирует таблицу tasks:

PHP MySQL. Вставка данных в таблицу

 

Чтобы вставить данные в таблицу, выполните следующие действия:

  • Подключитесь к базе данных MySQL, создав новый экземпляр объекта PDO.
  • Построить заявление MySQL INSERT.
  • Вызов метода  exec()  объекта PDO.

 

PHP MySQL. Вставьте примеры данных

PHP MySQL. Вставить новую строку в пример таблицы

<?php

class InsertDataDemo {

const DB_HOST = 'localhost';
const DB_NAME = 'classicmodels';
const DB_USER = 'root';
const DB_PASSWORD = '';

private $pdo = null;

/**
* Открыть подключение к базе данных
*/
public function __construct() {
// открыть подключение к базе данных
$conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
try {
$this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
} catch (PDOException $pe) {
die($pe->getMessage());
}
}
//...

 

В следующем примере показано, как вставить новую строку в таблицу tasks.

/**
* Вставка строки в таблицу
* @return
*/
public function insert() {
$sql = "INSERT INTO tasks (
subject,
description,
start_date,
end_date
)
VALUES (
'Learn PHP MySQL Insert Dat',
'PHP MySQL. Вставка данных в таблицу',
'2019-07-07',
'2019-07-07'
)";

return $this->pdo->exec($sql);
}

 

Мы определили InsertDataDemoкласс с помощью конструктора, который устанавливает соединение с базой данных, и деструктора, который закрывает соединение с базой данных. Пожалуйста, обратитесь к статье PHP MySQL. Создать таблицу для использования этих методов.

Внутри InsertDataDemoкласса мы определяем метод вставки, который вызывает метод exec() объекта PDO для выполнения инструкции INSERT.

Читать  Как описать таблицу в PostgreSQL?

Следующий оператор создает экземпляр класса InsertDataDemo и вызывает метод insert() для вставки новой строки в таблицу задач.

$obj = new InsertDataDemo();
$obj->insert();

 

Давайте запросим данные в таблице tasks:

SELECT *
FROM tasks;

 

PHP MySQL. Вставить одну строку, используя подготовленный пример оператора

Для динамической и безопасной передачи значений из PHP в оператор SQL вы используете подготовленный оператор PDO.

Во-первых, используйте оператор MySQL с именованными заполнителями следующим образом:

$sql = 'INSERT INTO tasks (
subject,
description,
start_date,
end_date
)
VALUES (
:subject,
:description,
:start_date,
:end_date
);';

 

: Subject,: description,: startdate и: enddate называются именованными заполнителями.

Во-вторых, вызовите метод  prepare() объекта PDO, чтобы подготовить оператор SQL для выполнения:

$q = $pdo->prepare($sql);

 

В-третьих, вызовите метод  execute() и передайте массив, содержащий значения, соответствующие именованным заполнителям.

$q->execute($task)

 

Собираем все вместе.

/**
* Вставка новой задачи в таблицу tasks
* @param string $subject
* @param string $description
* @param string $startDate
* @param string $endDate
* @return mixed возвращает false в случае неудачи
*/
function insertSingleRow($subject, $description, $startDate, $endDate) {
$task = array(':subject' => $subject,
':description' => $description,
':start_date' => $startDate,
':end_date' => $endDate);

$sql = 'INSERT INTO tasks (
subject,
description,
start_date,
end_date
)
VALUES (
:subject,
:description,
:start_date,
:end_date
);';

$q = $this->pdo->prepare($sql);

return $q->execute($task);
}

 

Теперь мы можем передать данные задачи в метод insertSingleRow():

obj->insertSingleRow('MySQL PHP вставить учебник',
'MySQL PHP. Вставить с использованием подготовленного оператора',
'2019-07-07',
'2019-07-08');

 

Давайте проверим таблицу tasks:

 

PHP MySQL Вставка нескольких строк в таблицу пример

Есть два способа вставить несколько строк в таблицу:

  • Выполните метод insertSingleRow() несколько раз.
  • Создайте оператор INSERT в MySQL, который вставляет несколько строк и выполняет их.

 

Из этой статьи вы узнали, как вставлять данные в таблицу MySQL с помощью оператора PHP PDO.

Редактор: AndreyEx

Рейтинг: 4 (3 голоса)
Если статья понравилась, то поделитесь ей в социальных сетях:

Один комментарий

пупкин 22.11.2019 в 13:20

Спасибо за статью, очень помогло

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

двенадцать + пятнадцать =

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала