函数是否在执行时没有显示成功回显?

时间:2014-08-23 10:42:41

标签: php

我正在为一个函数分配一个循环,所以当它没有注册一个函数时它工作正常但是当它注册了函数时所以它没有显示成功的回声请:

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!";

}

所以,如果你们有人可以请看看我的代码,那里出了什么问题。所以我会感谢你们,请...!

3 个答案:

答案 0 :(得分:1)

该功能不会返回任何内容。没有return true;return false;声明。 如果它不成功它永远不会返回,它会调用die(),它会终止整个脚本。因此,没有理由在呼叫周围使用if(),只需执行:

questions_query();
echo 'All Questions Are Done!';

答案 1 :(得分:0)

想要使用return

    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
}

答案 2 :(得分:0)

如果要查看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!";
}