我这里有这个代码片段
if(isset($c) && isset($d))
{
echo $qry2;
retrieve(mysqli_query($qry1)) || die(mysqli_error());
ini_set('display_errors', 'On');
retrieve(mysqli_query($qry2)) || die(mysqli_error()) ;
}
当条件为真时,则只调用第一个 retrieve() 函数,我有一个概念,即程序的控制返回到调用函数的下一行,这通常是任何编程语言的 w.r.t,但这里不是这种情况,当我echo $qry2
时, 我得到了想要的结果,即查询正在正确构建,我添加ini_set('display_errors', 'On');
的原因是检查是否有任何未显示的错误,关于如何实现将两个参数传递给 if 块内retrieve()
的任何想法?如果我将包含 $qry 2 的函数调用移动到包含 $qry 1 的部分之前,则只显示 qry2。
根据您在问题中所说的内容,我只能假设retrieve
没有返回真实值。当然,如果不看到retrieve
是什么,就不可能确定。但是,我冒昧地猜测它会循环结果集并构建一个行数组,然后返回该数组。
如果查询不返回任何行,则retrieve
可能只返回一个空数组,这是一个虚假值。这会导致脚本die(mysqli_error())
,但由于查询中没有错误,因此结果基本上是die("")
。