Php 如何从mysqli查询中获取结果数?
所以我在做这个查询:Php 如何从mysqli查询中获取结果数?,php,mysql,mysqli,Php,Mysql,Mysqli,所以我在做这个查询: 'SELECT * FROM Album WHERE id = ?;' 使用preparesql语句,我想知道如何获得这个查询返回的结果数?B/c由于每个相册id都是唯一的,所以此查询应该只返回1个相册,我希望确保它这样做 代码 您可以使用$result->num_rows获得它: if ($row = $result->fetch_assoc()) { $info['id'] = $row['id']; $info['title'] = $row[
'SELECT * FROM Album WHERE id = ?;'
使用preparesql语句,我想知道如何获得这个查询返回的结果数?B/c由于每个相册id都是唯一的,所以此查询应该只返回1个相册,我希望确保它这样做
代码
您可以使用
$result->num_rows
获得它:
if ($row = $result->fetch_assoc()) {
$info['id'] = $row['id'];
$info['title'] = $row['title'];
$info['date_created'] = $row['date_created'];
$info['creator'] = $row['creator'];
/* determine number of rows result set */
$row_cnt = $result->num_rows;
printf("Result set has %d rows.\n", $row_cnt);
}
您可以在上找到更多详细信息。只需使用COUNT(*)
参考:
另一种方式
我想确保它能做到这一点
在代码中,您已经在这样做了。以下情况
if($row = $result->fetch_assoc()){
执行您想要的操作。如果ID是唯一的,则只有一条记录。时期无需“确保”@juergend如果您总是检查是否发生了不可能发生的事情,那么彻底检查就好了,比如90%的代码都会包含这样的检查。@juergend这不一定是真的:它可以是0条记录well@PaulSpiegel这用于调试
rowCount()
是一个PDO函数。
SELECT COUNT(*) FROM Album WHERE id = ?;
$query = $dbh->prepare("SELECT * FROM Album WHERE id = ?");
$query->execute();
$count =$query->rowCount();
echo $count;
if($row = $result->fetch_assoc()){