MySQL update query with values from an array
<?php
/* ========================================================================================== */
try {
// connect to mysql database
$dbh = new PDO('mysql:host=localhost; dbname=some_database', 'username', 'password',
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
/* ========================================================================================== */
$table = 'emailgroup';
$delete = array(
'one@domain.com',
'two@domain.com',
'three@domain.com'
);
$removed = array();
$nomatch = array();
/* ========================================================================================== */
$stmt = $dbh->prepare("UPDATE $table SET email = 'removed' WHERE email = :email");
foreach ($delete as $value) {
$stmt->bindParam(':email', $value, PDO::PARAM_STR);
$stmt->execute();
if ($stmt->rowCount() >= 1) { $removed[] = $value; }
else { $nomatch[] = $value; }
} // end foreach
echo 'removed emails:' . "\n";
print_r($removed);
echo 'no match for:' . "\n";
print_r($nomatch);
$dbh = null;
} // end try
catch(PDOException $error) {
echo $error->getMessage();
}
?>