Модификация данных в базе данных SQL

Задача
Необходимо добавлять, удалять или изменять данные в SQL-базе данных.

Решение
Для посылки запросов INSERT, DELETE или UPDATE в PEAR DB предназначена функция DB::query():

$dbh->query("INSERT INTO family (id,name) VALUES (1,'Vito')");
$dbh->query("DELETE FROM family WHERE name LIKE 'Fredo'");
$dbh->query("UPDATE family SET is_naive = 1 WHERE name LIKE 'Kay'");

Можно также подготовить запрос посредством функции DB::prepare()
и выполнить его, вызвав функцию DB::execute():

$prh = $dbh->prepare('INSERT INTO family (id,name) VALUES (?,?)');
$dbh->execute($prh,array(1,'Vito'));
$prh = $dbh->prepare('DELETE FROM family WHERE name LIKE ?');
$dbh->execute($prh,array('Fredo'));
$prh = $dbh->prepare('UPDATE family SET is_naive = ? WHERE name LIKE ?');
$dbh->execute($prh,array(1,'Kay');

Обсуждение
Метод query() посылает в базу данных все, что ему передают, поэтому он может применяться в запросах получения данных и в запросах модификации данных.

Методы prepare() и execute() особенно полезны в запросах, которые требуется выполнить несколько раз. Подготовленный запрос может быть исполнен без повторной подготовки:

$prh = $dbh->prepare('DELETE FROM family WHERE name LIKE ?');
$dbh->execute($prh,array('Fredo'));
$dbh->execute($prh,array('Sonny'));
$dbh->execute($prh,array('Luca Brasi'));

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Автоматическое присваивание уникальных значений идентификаторов
Выполнение запросов к базе данных SQL
Извлечение строк без цикла
Кэширование запросов и результатов
Определение количества строк, возвращенных запросом

Вернуться в раздел: PHP / 10. Доступ к базам данных