Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 这是检查是否有返回值的最有效方法吗?_Php_Mysqli - Fatal编程技术网

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
}