我正在尝试将数据中的数据插入到我的数据库中。我发现很少有人有类似的问题所以它可能是重复的,但答案根本没有帮助我,因为他们在代码中没有$i
变量。那么请你帮我把这些值插入我的数据库吗?
for ($i=0; $i < $_SESSION["count"]; $i++) {
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = ("INSERT INTO dite (name, lname, adress, bday, inf1, inf2, inf3, id_o, id_m, id_p) VALUES (?,?,?,?,?,?,?,?,?,?);");
$stmt->bind_param("sssssssiii",$_SESSION["name$i"], $_SESSION["lname$i"],
$_SESSION["adress$i"], $_SESSION["bday$i"],
$_SESSION["inf1$i"], $_SESSION["inf1$i"],
$id_o, $id_m, $id_p);
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
$stmt->close();
$conn->close();
}
非常感谢每一位帮助!
编辑:
如果我在每次会话中都echo loop
,我会得到这个:
test_name0
test_lname0
test_address0
test_bday0
test_inf10
test_inf20
//(blank)
test_name1
test_lname1
test_address1
test_bday1
test_inf11
//(blank)
asdfg1
and $id_o = 0; $id_m = 0; $id_p = 0;
错误看起来像这样:
在第210行的C:\ wamp64 \ www \ login \ file.php中调用字符串上的成员函数bind_param()。
第210行是:
$stmt->bind_param("sssssssiii",$_SESSION["name$i"], $_SESSION["lname$i"],
答案 0 :(得分:0)
准备并绑定。
在您的查询中,您只是在没有准备的情况下绑定。
<?php
for ($i=0; $i < $_SESSION["count"]; $i++) {
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$stmt = $conn->prepare("INSERT INTO dite (name, lname, adress, bday, inf1, inf2, inf3, id_o, id_m, id_p) VALUES (?,?,?,?,?,?,?,?,?,?);");
$stmt->bind_param("sssssssiii",$_SESSION["name$i"], $_SESSION["lname$i"],
$_SESSION["adress$i"], $_SESSION["bday$i"],
$_SESSION["inf1$i"], $_SESSION["inf1$i"],
$id_o, $id_m, $id_p);
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
$stmt->close();
$conn->close();
}
?>