php mysqli检查mysqli查询是否返回false

时间:2012-12-03 19:23:10

标签: php mysql mysqli

如果返回boolean(false)或结果,我如何检查mysqli查询? 如果我尝试获取num_rows,我会得到php错误,因为我正在尝试访问非对象作为对象。但我需要检查一下,因为如果它是假的我必须设置一个变量,如果它不是得到查询的结果。

我的查询如下:

<?php
$q = "SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 0, 1";
$res = mysqli->query($q);
?>

3 个答案:

答案 0 :(得分:2)

您需要使用===运算符,它还会检查参数类型:

$q = "select ,....";
$res = mysqli->query( $q );

if( $res !== false ) { 
   // query ok
} else {
   // query failed
}

答案 1 :(得分:1)

要知道变量是否设置为false,您可以使用

if($res === false){//strictly false, no 0 or ''
   //do something
}

在这种情况下,您只能说要显示错误以便更正错误:

$res = mysqli->query($q) or exit mysqli_error();

答案 2 :(得分:0)

if (!$mysqli->query("SET a=1")) {
    printf("Errormessage: %s\n", $mysqli->error);
}