2使用bind_param和$ strmt

时间:2015-06-26 04:38:37

标签: php database

我在此代码中遇到2个错误:

else
    {

        if (is_numeric($_GET['id']) && $_GET['id'] > 0)
        {

            $id = $_GET['id'];


            if($stmt = $mysqli->prepare("SELECT * FROM member WHERE id=?"))
            {
                $stmt->bind_param("ssssi", $username, $power, $guild, $admin, $id);
                $stmt->execute();

                $stmt->bind_result($id, $username, $power, $guild, $admin);
                $stmt->fetch();


                renderForm($username, $power, $guild, $admin, NULL, $id);

                $stmt->close();
            }

            else
            {
                echo "Error: could not prepare SQL statement";
            }
        }

        else
        {
            header("Location: controlepanel.php");
        }
    }
}

这两个错误是:

  1. mysqli_stmt::bind_param():变量数量与预准备语句中的参数数量不匹配

    这个错误似乎出现在这个领域:

    $stmt->bind_param("ssssi", $username, $power, $guild, $admin, $id);
    $stmt->execute();
    
  2. mysqli_stmt::bind_result():绑定变量的数量与预准备语句中的字段数不匹配

    该错误低于另一个错误。

  3. 我在这里看不到问题,编码时我的一切似乎都没问题。可能我在这里遗漏了一些东西,但我没有看到它。

    你可以帮帮我吗?

0 个答案:

没有答案