如果返回boolean(false)或结果,我如何检查mysqli查询? 如果我尝试获取num_rows,我会得到php错误,因为我正在尝试访问非对象作为对象。但我需要检查一下,因为如果它是假的我必须设置一个变量,如果它不是得到查询的结果。
我的查询如下:
<?php
$q = "SELECT `id` FROM `table` ORDER BY `id` DESC LIMIT 0, 1";
$res = mysqli->query($q);
?>
答案 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);
}