使用mysqli插入多个值

时间:2012-10-22 04:10:38

标签: php mysqli

有人可以告诉我这行代码有什么问题吗?我目前是新的,现在尝试使用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();

2 个答案:

答案 0 :(得分:1)

问题是(?,?,?,?,?,?)

中有6个bind_param和7个参数

尝试

 $stmt = $mysqli->prepare("INSERT INTO canada VALUES (?,?,?,?,?,?,?)");

答案 1 :(得分:1)

问题是第一个绑定param的参数,它指的是有两个integer类型的字段,它们不是真的。

Bind parameters

如果用户id和age是int,则rest是字符串类型 它应该是 我是整数,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();