[英]Is this the most effective way to check that there are values returned?
这是检查fetch_assoc();
的最有效方法吗? ?
$something_row = $something->get_result()->fetch_assoc(); // get result
if($something > 1){
// DO THIS
}else{
// DO THIS
}
我不知道任何其他方式,但这并不是检查是否有返回值的最佳方式。
为什么我使用 1 是因为如果你说 if ($something == true){} 有时 fetch_assoc(); 将返回 -1 并将其视为 if 语句的真实值。
mysqli_result::fetch_assoc()
将始终返回带有数据的数组或null
。 由于PHP 的 type juggling ,填充数据的数组是“truey”值,null 是“falsey”。 这意味着您可以安全地在if
运算符中使用结果
你不必添加任何特别的东西。 只需将结果值放在条件运算符中。
$something_row = $something->get_result()->fetch_assoc(); // get result
if($something_row) {
echo 'Yes, we have some values';
} else {
echo 'Nothing returned';
}
这同样适用于mysqli_result::fetch_all
,但是这个 function 将始终返回一个数组,无论是否找到任何行。 但是空数组再次等于false
,因此结果也可以在条件中使用。
它必须是 boolean 吗? 我认为您正在寻找$results->num_rows;
$number_or_results = $results->num_rows;
if($number_or_results){
// DO STUFF WITH RESULTS
}
else{
// TELL USER THERE'S NO DATA
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.