ошибка в логическом значении - mysqli - PullRequest
0 голосов
/ 23 марта 2011

Я получаю ошибку в этом коде (комментарий в коде):

if (checkBd ($sql, $db, $valor, $codePass)){

    ($sql = $db->prepare("UPDATE users SET activation = ? WHERE activationLink=?"));

    $valor="1";
    $sql->bind_param('is', $valor, $codePass);

    $sql->execute();

    $sql->bind_result($valor, $codePass); //Warning: mysqli_stmt::bind_result() [mysqli-stmt.bind-result]: Number of bind variables doesn't match number of fields in prepared statement 

    if ($sql->fetch()) {
        header("location: index.php");
        return true;
    }
    else {
        echo "no";
        return false;
    }
$sql->close();
$db->close();
}

в чем проблема в скрипте? другой вопрос, правильно ли так обновлять логическое значение?

спасибо

Ответы [ 2 ]

1 голос
/ 23 марта 2011

Я не могу получить результат по запросу UPDATE.

решено с помощью

    if (checkBd ($sql, $db, $codePass)){

    $valor=1;
    ($sql = $db->prepare("UPDATE users SET activation=? WHERE activationLink=?"));

    $sql->bind_param('is', $valor, $codePass);

    $sql->execute();
    header("location: index.php");
    return true;
}
else {
    echo "no";
    return false;
}
$sql->close();
$db->close();
0 голосов
/ 23 марта 2011

Удалите кавычки вокруг ваших переменных, поскольку они не нужны.

Если $ valor = 1, вы, вероятно, захотите передать его как целое число.

$sql->bind_param('is', $valor, $codePass);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...