0

谁能告诉我这行代码有什么问题?我目前是新手,现在尝试使用 mysqli 准备好的语句来连接到数据库后端。到目前为止,我似乎无法让它更新数据库。

  $stmt = $mysqli->prepare("INSERT INTO canada VALUES (?,?,?,?,?,?)");
    $stmt->bind_param('sssiss',$_REQUEST["UserID"],$_REQUEST["FirstName"],
                        $_REQUEST["LastName"],$_REQUEST["Age"],$_REQUEST["WhatParty"],
                        $_REQUEST["Electorate"]);

    $stmt->execute();
4

2 回答 2

1

问题是有 6(?,?,?,?,?,?) 和你 7 参数bind_param

尝试

 $stmt = $mysqli->prepare("INSERT INTO canada VALUES (?,?,?,?,?,?,?)");
于 2012-10-22T04:13:24.743 回答
1

问题是绑定参数的第一个参数,它指定了两个不正确的整数类型字段。

绑定参数

如果用户 id 和年龄是 int,其余是字符串类型,那么它应该是 i 表示整数,s 表示字符串

- 更新

$db = new mysqli($server_host, $server_user, $server_password, $server_db);

if (mysqli_connect_errno()) {
    printf("DB error: %s", mysqli_connect_error());
    exit();
}



$stmt = $db->prepare("INSERT INTO canada
                      userid,firstname,lastname,age,whatparty,electorate)
                      VALUES (?,?,?,?,?,?))");

$stmt->bind_param("ississ",$_REQUEST["UserID"],$_REQUEST["FirstName"],
                  $_REQUEST["LastName"],$_REQUEST["Age"],
                  $_REQUEST["WhatParty"],$_REQUEST["Electorate"]);


$stmt->execute();
于 2012-10-22T04:20:33.537 回答