Функция PHP - что мне не хватает? - PullRequest
0 голосов
/ 05 октября 2011

РЕШЕНО - ОШИБКА ПОЛЬЗОВАТЕЛЯ - помогает, если объявить переменную не так ...

Справка,

У меня есть следующий код функции 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 ]

1 голос
/ 05 октября 2011

попробуйте

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);
}

обратите внимание, что я не избежал этого, так как это безопасно

1 голос
/ 05 октября 2011

вы забыли 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);
    }
1 голос
/ 05 октября 2011

Вы возвращаете переменную $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);
}
...