您好我想将$ _SESSION中的所有内容插入行$ key中,值为$ value
像foreach ($_SESSION as $key => $value) {}
之类的东西
俯瞰:Best way to INSERT many values in mysqli?
mysqli中的行名与给定$ key的名称相同。我需要在其$ key(行)中插入每个$值
代码:
$query = "INSERT INTO testtable VALUES (?)";
$stmt = $dbc->prepare($query);
$stmt->bind_param("s", $key);
$mysqli->query("START TRANSACTION");
foreach ($_SESSION as $key => $value) {
$stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");
答案 0 :(得分:0)
您的查询有语法错误,您从不打扰检查:
$query = "INSERT INTO testtable podatki VALUES (?)";
^^^^^^^^^^^^^^^^^
如果这真的是表名,那么应该用反引号引用它:
$query = "INSERT INTO `testtable podatki` VALUES (?)";
^-----------------^
如果podatki
是字段名称,那么它应该是
$query = "INSERT INTO testtable (podatki) VALUES (?)";
^-------^
并且从不假设数据库操作成功。总是检查错误:
$stmt = $dbc->prepare($query);
if (!$stmt) {
die(mysqli_error($dbc));
}
答案 1 :(得分:0)
错误在于您正在尝试在非对象上调用成员函数,即bind_param()
。
这意味着这一行:
$stmt = $dbc->prepare($query);
没有成功,
因此您的返回值不正确,设置为$stmt
因此,当您尝试调用bind_param
时,它会失败,因为$stmt
不是它所期望的对象类型。