繁体   English   中英

这是检查是否有返回值的最有效方法吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM