DELETE query using PDO

  1. DELETE query with positional placeholders
  2. DELETE query with named placeholders
  3. Comments

First of all, make sure you've got a properly configured PDO connection variable that is needed in order to run SQL queries using PDO (and to inform you of the possible errors).

In order to run an DELETE query with PDO just follow the steps below:

DELETE query with positional placeholders

As usual, positional placeholders are more concise and easier to use

$sql "DELETE FROM users WHERE id=?";
$stmt$pdo->prepare($sql);
$stmt->execute([$id]);

or you can chain execute() to prepare():

$pdo->prepare("DELETE FROM users WHERE id=?")->execute([$id]);

DELETE query with named placeholders

In case you have a predefined array with values, or prefer named placeholders in general, the code would be

$data = [
    
'date' => $date,
    
'used' => $used,
];
$sql "DELETE FROM coupons WHERE used = :used AND date_active < :date";
$stmt$pdo->prepare($sql);
$stmt->execute($data);

or you can chain execute() to prepare():

$sql "DELETE FROM coupons WHERE used = :used AND date_active < :date";
$pdo->prepare($sql)->execute($data);

Remember that you should't wrap every query into a try..catch statement. Instead, let a possible error to bubble up to either the built-in PHP's or your custom error handler.


Related articles: