Php 已删除记录的当前计数

Php 已删除记录的当前计数,php,sql,prepared-statement,Php,Sql,Prepared Statement,我有一些简单的代码,可以删除表中小于某个日期的所有记录。我使用PDO作为数据库访问方法 我如何查看数据库中实际删除的记录数? 我在考虑事务(计数要删除的记录-->执行删除-->如果一切正常-将计数的记录呈现给用户),但必须有一种更简单的方法,不是吗 似乎execute只返回一个布尔值,它只会给我一个成功的指示 $date = new DateTime('2014-06-22 12:00:00'); try{ $datestring = $date->format('Y-m-d H

我有一些简单的代码,可以删除表中小于某个日期的所有记录。我使用PDO作为数据库访问方法

我如何查看数据库中实际删除的记录数?

我在考虑事务(计数要删除的记录-->执行删除-->如果一切正常-将计数的记录呈现给用户),但必须有一种更简单的方法,不是吗

似乎execute只返回一个布尔值,它只会给我一个成功的指示

$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;
$date=新日期时间('2014-06-22 12:00:00');
试一试{
$datestring=$date->format('Y-m-dh:i:s');
$dbh=getConnected($host、$user、$pass、$db);
$stmt=$dbh->prepare(“从某个表中删除,其中日期和时间<'$datestring');
$stmt->execute();
echo“$rd records deleted”;//其中$rd=从查询返回的已删除记录数
}
捕获(PDO$e)
{
echo“出了问题!”;
error_log($e->getMessage().PHP_EOL,3,“errors.log”);
}
$dbh->connection=null;
尝试以下方法:

请尝试以下方法:

请尝试以下方法:

请尝试以下方法:


如果使用的是mysqli(未声明或明确),那么在您的情况下,执行$stmt->infected\u行


请参阅

如果使用的是mysqli(未声明或明确),在您的情况下,请执行$stmt->infected\u行


请参阅

如果使用的是mysqli(未声明或明确),在您的情况下,请执行$stmt->infected\u行


请参阅

如果使用的是mysqli(未声明或明确),在您的情况下,请执行$stmt->infected\u行

将为您提供受影响的行数

将为您提供受影响的行数

将为您提供受影响的行数

将为您提供受影响的行数


对不起。我更新了我的问题以反映所使用的访问方法(PDO)。啊,然后使用@Undefined_variable的答案我很抱歉。我更新了我的问题以反映所使用的访问方法(PDO)。啊,然后使用@Undefined_variable的答案我很抱歉。我更新了我的问题以反映所使用的访问方法(PDO)。啊,然后使用@Undefined_variable的答案我很抱歉。我更新了我的问题以反映所使用的访问方法(PDO)。啊,然后使用@Undefined_variable的答案谢谢!这正是我一直在寻找的,它的工作非常完美!非常感谢!这正是我一直在寻找的,它的工作非常完美!非常感谢!这正是我一直在寻找的,它的工作非常完美!非常感谢!这正是我一直在寻找的,它的工作非常完美!谢谢你的意见。起初我忘了提到我使用的是PDO而不是mysqli。谢谢你的输入。起初我忘了提到我使用的是PDO而不是mysqli。谢谢你的输入。起初我忘了提到我使用的是PDO而不是mysqli。谢谢你的输入。起初我忘了提到我使用的是PDO而不是mysqli。
printf("rows inserted: %d\n", $stmt->affected_rows);  
$stmt->rowCount();