使用 PDO 的mysql_num_rows替代方案

2022-08-30 17:37:21

现在我有一个PHP文件,它执行MYSQL查询,然后像这样计算行数:

$count=mysql_num_rows($result);


if ($count == 1) {
    $message = array('status' => 'ok');
} else {
    $message = array('status' => 'error');
}

这工作正常,但我正在尝试将所有PHP文件更改为使用PDO。那么如何使用PDO做到这一点呢?


答案 1
$res = $DB->query('SELECT COUNT(*) FROM table');
$num_rows = $res->fetchColumn();

$res = $DB->prepare('SELECT COUNT(*) FROM table');
$res->execute();
$num_rows = $res->fetchColumn();

您可以使用以下命令询问数据是否存在或是否已选择:

$res = $DB->query('SELECT COUNT(*) FROM table');
$data_exists = ($res->fetchColumn() > 0) ? true : false;

或者使用您的变量:

$res = $DB->query('SELECT COUNT(*) FROM table');
$message = ($res->fetchColumn() > 0) ? array('status' => 'ok') : array('status' => 'error');

答案 2
$stmt = $db->query('SELECT * FROM table');  
$row_count = $stmt->rowCount();  
echo $row_count.' rows selected';

推荐