Php 这是检查是否有返回值的最有效方法吗?
这是检查Php 这是检查是否有返回值的最有效方法吗?,php,mysqli,Php,Mysqli,这是检查fetch_assoc()最有效的方法吗 我不知道还有什么其他方法,但这并不是检查是否返回值的最佳方法 我为什么使用1是因为如果你说if($something==true){}有时fetch_assoc();将返回-1,并将其视为IF语句的真值。将始终返回带有数据的数组或 null < /代码>。由于,填充数据的数组是“true”值,null是“false”。这意味着您可以在if操作符中安全地使用结果 你不必添加任何特殊的内容。只需将结果值放入条件运算符中 $something_row
fetch_assoc()最有效的方法吗代码>
我不知道还有什么其他方法,但这并不是检查是否返回值的最佳方法
我为什么使用1是因为如果你说if($something==true){}有时fetch_assoc();将返回-1,并将其视为IF语句的真值。将始终返回带有数据的数组或<代码> null < /代码>。由于,填充数据的数组是“true”值,null是“false”。这意味着您可以在
if
操作符中安全地使用结果
你不必添加任何特殊的内容。只需将结果值放入条件运算符中
$something_row = $something->get_result()->fetch_assoc(); // get result
if($something_row) {
echo 'Yes, we have some values';
} else {
echo 'Nothing returned';
}
这同样适用于,但此函数将始终返回数组,无论是否找到任何行。但是空数组再次等于false
,因此结果也可以在条件中使用。它必须是布尔值吗?我想你在找我
fetch\u Assoc()
是您自己的函数还是预定义的函数,如mysqli\u result::fetch\u Assoc
?因为该函数不返回-1
。你到底想检查什么?为什么?这是mysqli_result::fetch_assoc
我在stackoverflow上的某个地方读到它可以返回-1 idk,如果这是真的或不是真的,但我使用了一个,因为当我使用true时,它将返回值为真的,即使它不是真的。我正在尝试检查是否有来自sql查询的数据,以及是否有数据然后显示它,或者说在数据库@progman中没有数据,为什么你觉得这样?fetch_assoc();never returns-1,您将它与其他东西混淆了,更不用说使用num_行进行分页是一个真正的灾难。假设有一百万行,你选择它们只是为了告诉数字?@YourCommonSense发布你的解决方案如果解决方案已经发布了,我为什么要发布它?还有,这和我提到的问题有什么关系?你的说法毫无意义。分页的字面意思是“当结果被限制时”(一次只能有一页)。获取所有行甚至不是“常见的”,而是会导致内存错误的灾难。请避免给出不好的建议。@YourCommonSense这是对的。从我身边飞过。
$something_row = $something->get_result()->fetch_assoc(); // get result
if($something_row) {
echo 'Yes, we have some values';
} else {
echo 'Nothing returned';
}
$number_or_results = $results->num_rows;
if($number_or_results){
// DO STUFF WITH RESULTS
}
else{
// TELL USER THERE'S NO DATA
}