MySQL的行数总是返回false



我知道这里已经被问过多次了,我已经尝试了所有可能的解决方案。我的查询可能存在固有的错误,为什么无论我的查询是否返回数据,它都会返回false?

$q_log_dates = "SELECT * FROM log_dates WHERE week_date ='" . $currentWeek . "'";
$q_log_dates_result = mysqli_query($connection, $q_log_dates);
$numResults = mysqli_num_rows($q_log_dates_result);
if ($numResults > 0) {
    echo "data";
} else {
    echo "no data";
}

只需使用面向对象的MySQLi函数。在您的情况下,$q_log_dates_result是一个对象,您可以使用它的属性。

$q_log_dates_result = mysqli_query($connection, $q_log_dates); //-Procedural
//OR $q_log_dates_result = $connection->query($q_log_dates);   //Object oriented
if ($q_log_dates_result->num_rows > 0) {
    echo "data";
} else {
    echo "no data";
}

mysqli_query返回对象类型,其中mysql_num_rows期望参数1为resource。不能将mysqli_*函数与mysql_*函数混合使用,它们不能互换。

强烈建议我放弃使用mysql_*ones,而坚持使用其他库,如已经提到的MySQLi

您正在使用

mysqli_query

,所以对于$numResults,您应该使用

mysqli_num_rows

相关内容

  • 没有找到相关文章

最新更新