PHP函数 - 我缺少什么?

时间:2011-10-05 09:59:32

标签: php function return

已解决 - 用户错误 - 如果声明某个变量,则有帮助...

帮助,

我有以下PHP功能代码:

function new_respondent() {
    global $link;
    $proc = mysqli_prepare($link, "INSERT INTO trespondent_bps (code) VALUES (uuid());");
    mysqli_stmt_execute($proc);
    $respondent_id = mysqli_insert_id($link);
    mysqli_stmt_fetch($proc);
    mysqli_stmt_close($proc);
    mysqli_clean_connection($link);
    return($code);
}

对于我的生活,它将UUID添加到数据库中没有任何问题 - 但它没有返回它所以我可以在代码中使用它 - 我错过了什么/做错了!!!

提前致谢,

荷马。

3 个答案:

答案 0 :(得分:1)

您返回未定义的变量$code

function new_respondent() {
    global $link;
    $proc = mysqli_prepare($link, "INSERT INTO trespondent_bps (code) VALUES (uuid());");
    mysqli_stmt_execute($proc);
    $respondent_id = mysqli_insert_id($link);
    mysqli_stmt_fetch($proc);
    mysqli_stmt_close($proc);
    mysqli_clean_connection($link);
    return($respondent_id);
}

答案 1 :(得分:1)

试试这个

function new_respondent() {
    global $link;
    $code = uniqid();

    $proc = mysqli_prepare($link, "INSERT INTO trespondent_bps (code) VALUES (" . $code .");");
    mysqli_stmt_execute($proc);
    $respondent_id = mysqli_insert_id($link);
    mysqli_stmt_fetch($proc);
    mysqli_stmt_close($proc);
    mysqli_clean_connection($link);
    return($code);
}

请注意,我没有逃脱,因为它是安全的

答案 2 :(得分:1)

您忘记了mysqli_stmt_bind_result($code);

    function new_respondent() {
        global $link;
        $proc = mysqli_prepare($link, "INSERT INTO trespondent_bps (code) VALUES (uuid());");
        mysqli_stmt_execute($proc);
        $respondent_id = mysqli_insert_id($link);
mysqli_stmt_bind_result($code);
        mysqli_stmt_fetch($proc);
        mysqli_stmt_close($proc);
        mysqli_clean_connection($link);
        return($code);
    }