它说它的这一行有一个错误,比如mysqli_num_rows()
期望参数1为mysqli_result
,它指向这一行$resultCheck = mysqli_num_rows($result);
我的代码是:
<?php
$sql = "SELECT FROM videos ORDER BY video_id ASC LIMIT 2,1;";
$result = mysqli_query($con, $sql);
$resultCheck = mysqli_num_rows($result);
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) { ?>
<li class="jp-playlist-current"><div><a href="javascript:;" class="jp-
playlist-item-remove" style="display: none;">×</a><a href="javascript:;"
class="jp-playlist-item jp-playlist-current" tabindex="0">1. <?php echo
$row['video_name']; ?> <span class="jp-artist">by <?php echo
$row['video_artist']; ?></span></a></div></li>
<?php }
} else {
echo "there are no songs!";
}
?>
发布于 2018-06-26 02:51:24
mysqli_num_rows()函数需要一个mysqli_result对象作为其参数。
如果查询有任何错误且未返回mysqli_result对象,则可能会失败。如果查询中存在语法错误或使用了错误的表名段名,那么查询可能会失败,而且重要的是数据库连接处于活动状态。
你需要把它们都检查一下。
如果DB连接是Ok、done和之前检查过的,那么您不需要以下代码:
<?php
$con = mysqli_connect("{DB_HOST}", "{db_user}","{db_password}","{db_name}");
if (mysqli_connect_errno()) die("DB Connect Error: " . mysqli_connect_error());
?>
然后,在尝试从查询中获取结果之前,请检查查询是否成功(如果查询失败,mysqli_query()函数将返回false )。
<?php
$result = mysqli_query($con, "SELECT * FROM videos ORDER BY video_id ASC LIMIT 2,1");
if (!$result) die('Error on the query...');
$resultCheck = mysqli_num_rows($result);
if ($resultCheck) {
while ($row = mysqli_fetch_assoc($result)) { ?>
...<?php echo $row['video_name']; ?>...
...<?php echo $row['video_artist']; ?>...
<?php }
} else {
echo "there are no songs!";
}
?>
发布于 2018-06-26 02:36:14
替换:
$sql = "SELECT FROM videos ORDER BY video_id ASC LIMIT 2,1;"; // ';' in the end is wrong
通过以下方式:
$sql = "SELECT * FROM videos ORDER BY video_id ASC LIMIT 2,1";
https://stackoverflow.com/questions/51029050
复制相似问题