我遇到警告问题“mysqli_num_rows()期望参数1为mysqli_result,对象给出”,我正在尝试显示数据库中的内容,除了此警告外,它似乎工作正常。我已经尝试了很多方法来解决这个问题,但它似乎并没有起作用。警告告诉我有问题的行是“if(mysqli_num_rows($ result)> 0){”,希望你能帮助我解释一下。感谢。
<?php
$sql = "SELECT `id`, `name`, `type`, `size`, `url`, `owner`, `created` FROM `files`";
$result = $db->query($sql);
if($result) {
if(mysqli_num_rows($result)>0) {
echo "You have not uploaded any files.";
} else {
echo " <table width='100%'>";
echo "
<tr>
<td>Name</td>
<td>Type</td>
<td>Size</td>
<td>URL</td>
<td>Owner</td>
<td>Created</td>
<td></td>
</tr>";
while($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo "
<tr>
<td>{$row['name']}</td>
<td>{$row['type']}</td>
<td>{$row['size']}</td>
<td>{$row['url']}</td>
<td>{$row['owner']}</td>
<td>{$row['created']}</td>
<td><a href='file?id={$row['id']}'>Download</a></td>
</tr>";
}
echo "
</table>
";
}
}
?>
答案 0 :(得分:2)
答案 1 :(得分:1)
看起来你正在混合mysqli的对象和程序风格。试试这个:
if ($result->num_rows > 0)
答案 2 :(得分:0)
您也可以使用select语句中的fetchColumn
if ($result->fetchColumn() > 0)