Php MySQL始终返回false的行数

Php MySQL始终返回false的行数,php,mysql,mysql-num-rows,Php,Mysql,Mysql Num Rows,我知道这已经被问了很多次了,我已经尝试了所有可能的解决方案。我的查询是否存在固有的错误,无论我的查询是否返回数据,为什么它都会返回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_l

我知道这已经被问了很多次了,我已经尝试了所有可能的解决方案。我的查询是否存在固有的错误,无论我的查询是否返回数据,为什么它都会返回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\u log\u dates\u 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函数。在您的例子中,
$q\u log\u dates\u 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_查询返回对象的类型,其中mysql_num_rows期望参数1是资源。您不能将mysqli_*函数与mysql_*函数混合使用,它们不能互换


强烈建议我放弃使用mysql,继续使用其他库,如前面提到的MySQLi

MySQLi\u查询返回的对象类型,其中mysql\u num\u rows期望参数1是资源。您不能将mysqli_*函数与mysql_*函数混合使用,它们不能互换

强烈建议我放弃使用mysql_*one,继续使用其他库,如前面提到的MySQLi

mysqli_query
,因此,对于$numResults,您应该使用

mysqli_num_rows
您正在使用

mysqli_query
,因此,对于$numResults,您应该使用

mysqli_num_rows

不要混合使用MySQL和MySQLi。。。他们不是“挑三拣四”的。
mysql\u error()
给出了什么?更新了上面的问题(代码)以反映解决方案。不要混合使用mysql和MySQLi。。。他们不是“挑三拣四”的,而是
mysql\u error()
给出了什么?更新了上面的问题(代码)以反映解决方案。如果你要使用面向对象的PHP,你应该充分使用它。这意味着使用$db=new mysqli(域、用户名、密码、数据库);在不同的安全php页面上,并将其包含在您正在使用的页面上。然后您可以说$res=$db->query(这里是查询字符串);。另外,你应该$res->free();获取$res->num_行和结果以及$db->close()后的结果;您的连接可以获得更好的服务器端性能。如果您打算使用面向对象的PHP,您应该充分使用它。这意味着使用$db=new mysqli(域、用户名、密码、数据库);在不同的安全php页面上,并将其包含在您正在使用的页面上。然后您可以说$res=$db->query(这里是查询字符串);。另外,你应该$res->free();获取$res->num_行和结果以及$db->close()后的结果;您的连接有助于提高服务器端性能。