Resumo : neste tutorial mostraremos como atualizar dados no banco de dados SQLite usando PHP PDO.
Passos para atualização de dados no banco de dados SQLite do PHP
O processo de atualização de dados é semelhante ao processo de inserção de dados . Para atualizar dados em uma tabela, siga estas etapas:
- Conecte-se ao banco de dados SQLite criando um novo objeto PDO.
- Prepare uma instrução UPDATE usando o
prepare()
método do objeto PDO. Oprepare()
método retorna umPDOStatement
objeto. - Vincule valores aos parâmetros da
UPDATE
instrução usando obindValue()
método doPDOStatement
objeto. - Execute a
UPDATE
instrução chamando oexecute()
método doPDOStatement
objeto. Oexecute()
método retorna verdadeiro em caso de sucesso ou falso em caso de falha.
SQLite PHP: exemplo de atualização de dados
Usaremos a tasks
tabela que criamos no tutorial de criação de tabela para a demonstração.
Veja a SQLiteUpdate
aula a seguir.
<?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();
}
}
Linguagem de código: PHP ( php )
No completeTask()
método, atualizamos as colunas completed
e completed_date
da tasks
tabela usando a UPDATE
instrução.
Suponha que você queira marcar a tarefa com id 2 concluída, você usa o seguinte código no index.php
arquivo.
<?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.';
Linguagem de código: PHP ( php )
Execute o index.php
script, recebemos a seguinte mensagem:
Task #2 has been completed
Linguagem de código: Sessão Shell ( shell )
Vamos verificar a atualização usando a seguinte instrução SELECT :
SELECT *
FROM tasks
WHERE task_id = 2;
Linguagem de código: SQL (linguagem de consulta estruturada) ( sql )
A tarefa com id 2 foi atualizada conforme mostrado na imagem acima.
Para obter o número de linhas afetadas pela UPDATE
instrução, você usa rowCount()
o método do PDOStatement
objeto.
<?php
$stmt->rowCount();
Linguagem de código: PHP ( php )
Neste tutorial, mostramos como atualizar dados na tabela SQLite usando PHP PDO.