Добавление, обновление и удаление данных

Добавление, обновление и удаление данных



Метод exec()




Для sql-запросов типа INSERT, UPDATE и DELETE, которые не возвращают выбранный результат, а возвращают количество затронутых строк, используется метод exec()



Метод exec()



sql-запрос на добавление данных:


$sql = 'INSERT INTO news (id, title, date, short_content, content, author_name) VALUES ("6", "Новость 6", "2018-12-30", "Краткое содержание новости 6: ...", "Содержание новости 6: ...", "Автор 6")';



Выполнение запроса:


Обращаемся к объекту PDO ($pdo) и вызываем на исполнение метод exec().

В качестве параметра передаем sql-запрос, который должен быть выполнен.

Данный метод возвращает количество затронутых строк ($rows)

:

$rows = $pdo -> exec($sql);
echo $rows;



Файл index.php


-- файл index.php --

<?php

try{
$pdo = new PDO ('mysql:host=localhost;dbname=test2';charset=utf-8, 'root', '');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Успешное подключение <br><br>";
} catch{
exit ('Ошибка подключения: <br><br>' . $e -> getMessage());
}

try{
-------------------------------------------------------------------

// Запрос на добавление данных:
$sql = 'INSERT INTO news (id, title, date, short_content, content, author_name) VALUES ("6", "Новость 6", "2018-12-30", "Краткое содержание новости 6: ...", "Содержание новости 6: ...", "Автор 6")';

$rows = $pdo -> exec($sql);
echo $rows;

--------------------------------------------------------------------
} catch{
exit ('Ошибка в запросе: <br><br>' . $e -> getMessage());
}
?>

Выведет:
Успешное подключение
1 - одна запись (строка) была затронута последним sql-запросом

Наверх



sql-запрос на обновление данных.


Изменим дату в нашем запросе:


$sql = 'UPDATE news SET date = "2019-9-29" WHERE id = "6"';


- после выполнения этого запроса дата в соответствующей строке будет изменена



sql-запрос на удаление данных.


Удалим все данные из талицы news, где id = 6:


$sql = 'DELETE FROM news WHERE id = 6';


- после выполнения этого запроса все данные из соответствующей строки в таблице news будут удалены








Наверх Наверх