Php Sql更新错误

Php Sql更新错误,php,html,sql,Php,Html,Sql,我的站点的panel.php页面显示用户帐户信息。该页面显示输入中的数据,用户可以更新,但单击更新按钮时出错 我犯了这个错误 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 近(fname,lname,mail,password,country,sex,facebook,twitter, instagram,第1行的snapc' Panel.php <form action="panelpost.php" method="post"> First

我的站点的panel.php页面显示用户帐户信息。该页面显示输入中的数据,用户可以更新,但单击更新按钮时出错

我犯了这个错误

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 近(fname,lname,mail,password,country,sex,facebook,twitter, instagram,第1行的snapc'

Panel.php

<form action="panelpost.php" method="post">
First name: <input type="text" name="fname" value="<?php echo $row1['fname']; ?>"><br>
Last name: <input type="text" name="lname" value="<?php echo $row1['lname']; ?>"><br>
Mail: <input type="text" name="mail" value="<?php echo $row1['mail']; ?>"><br>
Password: <input type="text" name="password" value="<?php echo $row1['password']; ?>"><br>
Country: <input type="text" name="country" value="<?php echo $row1['country']; ?>"><br>
Sex: <input type="text" name="sex" value="<?php echo $row1['sex']; ?>"><br>
Facebook: <input type="text" name="facebook" value="<?php echo $row1['facebook']; ?>"><br>
Twitter: <input type="text" name="twitter" value="<?php echo $row1['twitter']; ?>"><br>
Instagram: <input type="text" name="instagram" value="<?php echo $row1['instagram']; ?>"><br>
Whatsapp: <input type="text" name="whatsapp" value="<?php echo $row1['snapchat']; ?>"><br>
  <input type="submit" value="Update">
</form>


名字:您需要更改查询,如下所示:-

$sql = $db->prepare("UPDATE uyeler SET fname=?, lname=?, mail=?, password=?, country=?, sex=?, facebook=?, twitter=?, instagram=?, snapchat=? WHERE mail ='{$_SESSION['kullanici']}'");

注意:-如果您
参数化了
,效果会更好。您上一次的
会话
值也是以同样的方式进行的。

您的
更新
查询不正确。您必须为每列显式赋值

$sql = $db->prepare("UPDATE uyeler SET fname = ?, lname = ?, ... WHERE mail ='{$_SESSION['kullanici']}'");

从查询和检查中删除
SET
。我删除了,但错误仍在继续。我接受相同的错误
SET
UPDATE
doh所必需的,混合更新和插入排序应该是这样的
UPDATE uyeler SET fname=?,…其中mail='{$\u会话['kullanici']}“
如前所述,您将插入语法与更新语法混为一谈。非常感谢:)。这些是固定的:)会话值也应该参数化。我刚刚添加了注释。谢谢你的接受。在代码中有
是正确的吗?@anantkumarsing我只是在偷懒。我相信他至少能理解你需要给出清晰的代码。这与懒惰无关。谢谢
$sql = $db->prepare("UPDATE uyeler SET fname = ?, lname = ?, ... WHERE mail ='{$_SESSION['kullanici']}'");