Разработчику. Сборник рецептов PHP
Задавайте вопросы

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

Вернуться назад

Задача

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

Решение

Для посылки запросов INSERT, DELETE или UPDATE в EAR 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'));

Вернуться назад

Рейтинг@Mail.ru

Яндекс.Метрика

Индекс цитирования


Рейтинг Сайтов ДОСКИ.РУ