已删除记录的当前计数
问题描述:
我有一些简单的代码可以删除小于特定日期的表中的每个记录。我正在使用PDO作为db访问方法。已删除记录的当前计数
我怎么能看到(并因此向用户报告)多少记录在数据库中实际被删除?
我在想交易(计数记录被删除 - >执行删除 - >如果一切正常 - 提供记录给用户),但必须有一个更简单的方法,不是?
看来,执行只返回一个布尔值,只会给我一个成功的迹象。
$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;
答
printf("rows inserted: %d\n", $stmt->affected_rows);
+0
感谢您的输入。我最初忘了提及我正在使用PDO而不是mysqli。 – Roger 2014-08-30 12:19:29
答
如果是mysqli的使用(它没有说明或明确的),你的情况,做$ stmt-> affected_rows
谢谢了!正是我期待的,它完美的工作! – Roger 2014-08-30 12:18:22