mysqli_query - return values


mysqli_query - return values

我使用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。