PHP MySQL: Delete Data
Summary: in this tutorial, you will learn how to delete data from the MySQL database table by using PHP PDO.
We will use the tasks
the table in the sample database for the demonstration. Before going forward with this tutorial, you should follow the PHP MySQL create table tutorial to create the tasks
table and insert sample data for practice.
See the following tasks table.
To delete data in a table, you use the following steps:
- Connect to the MySQL database by creating a new instance of the PDO object.
- Construct a DELETE statement to delete a row, multiple rows, or all rows in a table. If you want to delete all rows in a big table quickly and more efficiently, you use the TRUNCATE TABLE statement.
- Execute the
DELETE
statement by calling theexec()
method of thePDO
object or theexecute()
method of thePDOStatement
object.
PHP MySQL Delete data examples
PHP MySQL: delete a single row example
To delete a single row in a table, you use the DELETE
a statement with a WHERE clause that specifies which row to delete.
The following script deletes a row with id 2 in the tasks
table.
<?php
/**
* PHP MySQL Delete Data Demo
*/
class DeleteDataDemo {
const DB_HOST = 'localhost';
const DB_NAME = 'classicmodels';
const DB_USER = 'root';
const DB_PASSWORD = '';
/**
* PDO instance
* @var PDO
*/
private $pdo = null;
/**
* Open a database connection to MySQL
*/
public function __construct() {
// open database connection
$conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);
try {
$this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);
} catch (PDOException $e) {
die($e->getMessage());
}
}
/**
* Delete a task based on a specified task id
* @param int $id
* @return bool true on success or false on failure
*/
public function delete($id) {
$sql = 'DELETE FROM tasks
WHERE task_id = :task_id';
$q = $this->pdo->prepare($sql);
return $q->execute([':task_id' => $id]);
}
/**
* close the database connection
*/
public function __destruct() {
$this->pdo = null;
}
}
$obj = new DeleteDataDemo();
// delete id 2
$obj->delete(2);
How it works.
In the __construct()
method of the DeleteDataDemo
class, we connect to the MySQL database by initiating an instance of the PDO
class, and in the __destruct()
the method, we close the database connection.
The delete()
method accepts the id
as the argument. First, we call the prepare()
method of the PDO
object to prepare the DELETE
statement for execution, and then we pass an array that contains values corresponding to the named placeholders in the DELETE
statement to the execute()
method of the PDOStatement
object.
To delete the task with id 2, we create an instance of the DeleteDataDemo
class and call the delete()
method.
PHP MySQL: delete all rows in a table examples
There are two ways to delete all rows in a table:
- Issue a
DELETE
statement without a WHERE clause. - Issue a
TRUNCATE TABLE
statement.
The following deleteAll()
method deletes all rows in the tasks
table using the DELETE
statement:
<?php
/**
* Delete all rows in the tasks table
*/
public function deleteAll(){
$sql = 'DELETE FROM tasks';
return $this->pdo->exec($sql);
}
The following truncateTable()
the method removes all rows in the tasks
table as well as resets its autoincrement column’s value:
<?php
/**
* Truncate the tasks table
*/
public function truncateTable() {
$sql = 'TRUNCATE TABLE tasks';
return $this->pdo->exec($sql);
}
You can download the source code of this tutorial via the following link:
Download PHP MySQL Delete Source Code
In this tutorial, we have shown you how to delete data from a MySQL table using PHP PDO.
0 Comments
CAN FEEDBACK
Emoji