我知道这里已多次询问过,我已经尝试了所有可用的解决方案。不管我的查询是否返回数据,我的查询可能存在一些内在不正确的问题:为什么它会返回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";
}
答案 0 :(得分:3)
只需使用面向对象的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";
}
答案 1 :(得分:1)
mysqli_query返回对象的类型,其中mysql_num_rows期望参数1为资源。你不能将mysqli_ *函数与mysql_ *函数混合使用,它们是不可互换的。
强烈建议我放弃使用mysql_ *并坚持其他库,例如已经提到的MySQLi
答案 2 :(得分:1)
您正在使用
mysqli_query
,所以对于$ numResults,你应该使用
mysqli_num_rows