Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как добавить запись в базу данных

Короткий ответ

Значения передавайте отдельно от запроса — в execute():

<?php
 
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, email TEXT)');
 
$statement = $pdo->prepare('INSERT INTO users (name, email) VALUES (:name, :email)');
$statement->execute(['name' => 'Anna', 'email' => 'anna@example.com']);
 
echo $pdo->lastInsertId();

Результат:

1

Несколько записей

Один подготовленный запрос выполняют в цикле:

<?php
 
$pdo = new PDO('sqlite::memory:');
$pdo->exec('CREATE TABLE tags (id INTEGER PRIMARY KEY, title TEXT)');
 
$statement = $pdo->prepare('INSERT INTO tags (title) VALUES (?)');
 
foreach (['php', 'sql', 'css'] as $title) {
    $statement->execute([$title]);
}
 
echo $pdo->query('SELECT COUNT(*) FROM tags')->fetchColumn();

Результат:

3

Функции из этого ответа

  • PDOStatement — Подготовленный запрос и его результат.
  • PDO — Подключение к базе данных.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.