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