我有一些简单的代码可以删除小于特定日期的表中的每条记录。我使用PDO作为数据库访问方法。
如何查看 (并因此向用户报告) 数据库中实际删除了多少条记录?
我在考虑交易(计数记录要删除 - >执行删除 - >如果一切正常 - 向用户显示计数记录),但必须有一个更简单的方法,不是吗?
执行似乎只返回一个布尔值,它只能给我一个成功的指示。
$date = new DateTime('2014-06-22 12:00:00');
try{
$datestring = $date->format('Y-m-d H:i:s');
$dbh = getConnected($host,$user,$pass,$db);
$stmt = $dbh->prepare("DELETE FROM sometable WHERE date_and_time < '$datestring'");
$stmt->execute();
echo "$rd records deleted"; // where $rd = number of records deleted returned from the query
}
catch(PDOException $e)
{
echo 'Something went wrong!';
error_log($e->getMessage().PHP_EOL, 3, "errors.log");
}
$dbh -> connection = null;
答案 0 :(得分:3)
答案 1 :(得分:0)
printf("rows inserted: %d\n", $stmt->affected_rows);
答案 2 :(得分:0)
如果是使用mysqli(未说明或清楚),在您的情况下,请执行$ stmt-&gt; affected_rows