mysql_num_rows现在我有一个PHP文件MySQL查询然后计算行是这样的:替代使用PDO
$count=mysql_num_rows($result);
if ($count == 1) {
$message = array('status' => 'ok');
} else {
$message = array('status' => 'error');
}
这工作得很好,但我想改变我的所有PHP文件使用PDO。那么PDO怎么做呢?
mysql_num_rows现在我有一个PHP文件MySQL查询然后计算行是这样的:替代使用PDO
$count=mysql_num_rows($result);
if ($count == 1) {
$message = array('status' => 'ok');
} else {
$message = array('status' => 'error');
}
这工作得很好,但我想改变我的所有PHP文件使用PDO。那么PDO怎么做呢?
$res = $DB->query('SELECT COUNT(*) FROM table');
$num_rows = $res->fetchColumn();
或
$res = $DB->prepare('SELECT COUNT(*) FROM table');
$res->execute();
$num_rows = $res->fetchColumn();
你可以SE这要问,如果存在数据或选择,太:
$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');
如果你不使用准备好的语句,然后尝试:
$find = $dbh->query('SELECT count(*) from table');
if ($find->fetchColumn() > 0){
echo 'found';
}
但是,如果选择准备好的发言,我强烈建议,然后:
$find = $dbh->prepare('SELECT count(*) from table');
$find->execute();
if ($find->fetchColumn() > 0){
echo 'found';
}
也许你可以使用PDO的“使用fetchall”方法,它返回一个包含所有选择阵列结果。 然后使用“count”方法来计算数组的行数。
例:
$rows = $stmt->fetchAll();
$num_rows = count($rows);
如果您只需要知道结果的数量,那么在大数据集上这可能会很昂贵。 –
@QuinnComendant,''rowCount()'函数返回一个精确的计数* *无论如何你获取所有的行。 –
@BillKarwin,你的意思是'mysql_num_rows()'? PDO的'rowCount()'方法“返回受最后一个DELETE,INSERT或UPDATE语句影响的行数” - 不是同一件事。 –
可以是这样的...
$numRows = $conn->query("SELECT COUNT(*) FROM yourtable")->fetchColumn();
echo $numRows;
$stmt = $db->query('SELECT * FROM table');
$row_count = $stmt->rowCount();
echo $row_count.' rows selected';
$jmldata = $db->query("SELECT count(*) FROM blog_posts")->fetchColumn();
$jmlhalaman = $p->jumlahHalaman($jmldata, $batas);
$linkHalaman = $p->navHalaman($_GET['halpost'], $jmlhalaman);
echo "<div class='center_title_bar'>Halaman : $linkHalaman </div>
</div></div></div>
";
它的工作谢谢:)
//query for counting the total number of rows
$result = $conn->prepare("SELECT COUNT(*) FROM your_table");
$result->execute();
$num_rows = $result->fetchColumn();
//condition to display the result
if ($num_rows>0)
{
echo "there is some results =".$num_rows;
}else{
echo "no result";
}
的http://计算器。 COM /问题/ 2700621/p hp-pdo-num-rows – dude
根本不需要这样的功能。请参阅[使用PDO获取行数](https://phpdelusions.net/pdo#count) –