Обновление данных в таблице SQLite3 с использованием PHP PDO
В этом уроке я покажу, как обновлять данные в базе данных SQLite с помощью PHP PDO.
Шаги по обновлению данных в базе данных SQLite из PHP
Процесс обновления данных аналогичен процессу вставки данных. Чтобы обновить данные в таблице, используйте следующие шаги:
- Подключитесь к базе данных SQLite, создав новый объект PDO.
- Подготовьте оператор
UPDATE
, используя методprepare()
объекта PDO. Методprepare()
возвращает объектPDOStatement
. - Привязать значения к параметрам оператора
UPDATE
с помощью методаbindValue()
объектаPDOStatement
. - Выполните инструкцию
UPDATE
, вызвав методexecute()
объектаPDOStatement
. Методexecute()
возвращаетtrue
в случае успеха илиfalse
при ошибке.
SQLite PHP: пример обновления данных
Класс SQLiteUpdate
:
<?php
namespace App;
/**
* PHP SQLite Update Demo
*/
class SQLiteUpdate {
/**
* PDO object
* @var \PDO
*/
private $pdo;
/**
* Initialize the object with a specified PDO object
*/
public function __construct($pdo) {
$this->pdo = $pdo;
}
/**
* Mark a task specified by the task_id completed
* @param type $taskId
* @param type $completedDate
* @return bool true if success and falase on failure
*/
public function completeTask($taskId, $completedDate) {
// SQL statement to update status of a task to completed
$sql = "UPDATE tasks "
. "SET completed = 1, "
. "completed_date = :completed_date "
. "WHERE task_id = :task_id";
$stmt = $this->pdo->prepare($sql);
// passing values to the parameters
$stmt->bindValue(':task_id', $taskId);
$stmt->bindValue(':completed_date', $completedDate);
// execute the update statement
return $stmt->execute();
}
}
В методе completeTask()
мы обновляем поля complete
и complete_date
таблицы задач с помощью оператора UPDATE
.
Файл index.php
:
<?php
require 'vendor/autoload.php';
use App\SQLiteConnection;
use App\SQLiteUpdate;
$pdo = (new SQLiteConnection())->connect();
$sqlite = new SQLiteUpdate($pdo);
// mark task #2 as completed
$taskId = 2;
$result = $sqlite->completeTask($taskId, '2016-05-02');
if ($result)
echo 'Task #$taskId has been completed';
else
echo 'Whoops, something wrong happened.';
Выполнив скрипт index.php
, мы получили следующее сообщение:
Task #2 has been completed
Давайте проверим обновление, используя следующую инструкцию SELECT
:
SELECT *
FROM tasks
WHERE task_id = 2;
Мы должны увидеть, что задача с идентификатором 2
была обновлена.
Чтобы получить количество строк, затронутых оператором UPDATE
, нужно использовать метод rowCount()
объекта PDOStatement
.
$stmt->rowCount();
В этом уроке мы научились обновить данные в таблице SQLite с помощью PHP PDO.
02.07.2020 Источник