首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布尔值中的错误- mysqli

问布尔值中的错误- mysqli
EN

Stack Overflow用户
提问于 2011-03-23 07:22:59
回答 2查看 1.1K关注 0票数 0

我在这段代码中得到一个错误(代码中的注释):

代码语言:javascript
复制
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();
}

脚本中可能存在的问题是什么?另一个问题是,这种更新布尔值的方式正确吗?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-23 10:00:38

我无法从更新查询中检索结果。

已解决

代码语言:javascript
复制
    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();
票数 1
EN

Stack Overflow用户

发布于 2011-03-23 07:54:31

删除变量两边的引号,因为它们是不需要的。

如果$valor总是=1,您可能希望将其作为整数传递。

代码语言:javascript
复制
$sql->bind_param('is', $valor, $codePass);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5399089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档