我使用PHP函数mysqli_query
来运行SELECT
查询。
如果查询运行成功,但查询没有找到匹配项,mysqli_query
返回什么?
按手册:
失败时返回FALSE。对于成功的SELECT, SHOW, DESCRIBE或EXPLAIN查询,mysqli_query()将返回一个mysqli_result对象。对于其他成功的查询,mysqli_query()将返回TRUE。
运行但没有返回结果的查询仍然被认为是"成功的查询",因为查询确实在数据库中运行,空结果集是合法的响应。这意味着查询仍然会返回一个mysqli_result
对象,如果您检查它的行数(通过面向对象风格的$result->num_rows
或过程风格的mysqli_num_rows($result)
),它将返回0。
如果是Mysqli_query
对象,则可以使用mysqli_num_rows来计算返回的行数。所以:
if(mysqli_num_rows($query) > 0 ){
// Do something
}
if ($result = $mysqli->query("SELECT * FROM data"))
{
$count = $result->num_rows;
printf("Result set has %d rows.'n", $count);
$result->close();
}
从参考:失败时返回FALSE。对于成功的SELECT, SHOW, DESCRIBE或EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。为其他成功的查询mysqli_query()将返回TRUE。