1
我正在尝试在我的网站中进行就地编辑。 现在我设置了所有我需要的东西。 当用户点击提交时,它会发送div
元素的id
(什么样的内容)和要更新的新值。到位编辑更新文本
这里是我的代码:
if($pedit = $mysqli->prepare("UPDATE `accounts` SET ? = ? WHERE `id`= ? ")){
$pedit->bind_param("sss", $id, $value, $_SESSION["user_id"]);
$pedit->execute();
$pedit->free_result();
$pedit->close();
}
我不知道为什么它不更新信息。 $id
=改变的行:描述,全名,电子邮件等。 $value
=有关$id
的新信息。用户可以更新其个人资料信息。
该代码不会显示任何类型的错误,但仍不会更新。
它不起作用,因为您不允许使用'?'占位符代替_column或table_标识符。它们只能用于标量值(这些值_assigned_到列) – 2014-12-03 19:32:54
因此,对于您的输入变量'$ id',您不能使用占位符。相反,您必须将该变量放入查询中(您试图通过使用'prepare()/ bind_param()/ execute()'来避免),但是您可以首先使用可接受的可能列名进行验证。我正在寻找一个解释它的现存问题 - 这经常被问到...... – 2014-12-03 19:34:36