Php 函数在执行时未显示成功回音?

Php 函数在执行时未显示成功回音?,php,Php,我正在为函数分配一个循环,这样在未注册函数时它可以正常工作,但在注册函数时,它不会在成功时显示回显,请如下所示: function questions_query() { global $mysqli; global $form_name; $questions = $_POST['questions']; for($i=0;$i<count($questions);$i++){ $i_query = $i+1; $

我正在为函数分配一个循环,这样在未注册函数时它可以正常工作,但在注册函数时,它不会在成功时显示回显,请如下所示:

function questions_query() {

    global $mysqli;
    global $form_name;

    $questions = $_POST['questions'];

    for($i=0;$i<count($questions);$i++){

        $i_query = $i+1;

        $query_2 = mysqli_query($mysqli,"UPDATE forms SET question$i_query='$questions[$i]' WHERE form_name='$form_name'") or die(mysqli_connect_error());

    }

}

if (questions_query()) {

    echo "All Questions Are Done!";

}
函数问题\u查询(){
全球$mysqli;
全局$form_name;
$questions=$_POST['questions'];

对于($i=0;$i函数不返回任何内容。没有
返回true;
返回false;
语句。 如果不成功,它将永远不会返回,它将调用
die()
,从而终止整个脚本。因此,没有理由在调用过程中使用
If()
,只需执行以下操作:

questions_query();
echo 'All Questions Are Done!';
想用退货吗

    function questions_query() {

global $mysqli;
global $form_name;

$questions = $_POST['questions'];

for($i=0;$i<count($questions);$i++)
{

$i_query = $i+1;

$query_2 = mysqli_query($mysqli,"UPDATE forms SET question$i_query='$questions[$i]' WHERE form_name='$form_name'") or die(mysqli_connect_error());

}

return true;

}

if (questions_query()) {

echo "All Questions Are Done!";

}

else {

 //something happened
}
函数问题\u查询(){
全球$mysqli;
全局$form_name;
$questions=$_POST['questions'];

对于($i=0;$i),如果要检查MySQL查询结果,则需要返回错误检查

function questions_query() {

    global $mysqli;
    global $form_name;

    $questions = $_POST['questions'];

    $has_errors = 0;

    for($i=0;$i<count($questions);$i++)
    {
        $i_query = $i+1;

        $query_2 = mysqli_query($mysqli,"...");

        if (mysqli_errno($mysqli) > 0) {
            $has_errors ++;
        }

    }

    return $has_errors;

}

$errors = questions_query();

if ($errors == 0) {
    echo "All Questions Are Done!";
} else {
    echo "Errors in questions: $errors times!";
}
函数问题\u查询(){
全球$mysqli;
全局$form_name;
$questions=$_POST['questions'];
$has_errors=0;
对于($i=0;$i 0){
$has_errors++;
}
}
返回$has_错误;
}
$errors=questions_query();
如果($errors==0){
echo“所有问题都解决了!”;
}否则{
回显“问题中的错误:$Errors times!”;
}

该函数不返回任何内容。@Barmar:但它确实在执行查询时运行..!我一直在检查数据库表..!那么如何将return:true分配给它,请精确分配给哪里?如果函数仍然不运行,它只会回显,所以我想让它在函数未成功时启动其他函数..请参见@arunvc的答案。实际上它是更高级的代码,但刚刚添加了更新为
mysqli\u errno($mysqli)
per-needs..!所以它没有回显错误号请..!不是真的,但我只想在查询未按原样更新时显示else..!如果查询未更新任何内容,则意味着发生了错误。不是吗?或其他任何事情只是该查询,因此如果没有上述查询,任何事情都不会发生。。!