MySQL UPDATE语法错误 - 一切正常吗?

Héc*_*zar 0 php mysql

我在PHP中的更新查询出错...我已经看到了其他人的错误,我几乎可以肯定我没有犯同样的错误,但我可能会忽略一个.

这是我的代码:

$sQuery = "UPDATE clientes 
        SET 
          Nombre = '$_POST[Nombre]',
          Apellidos = '$_POST[Apellidos]',
          Telefono = '$_POST[Telefono]',
          Email = '$_POST[Email]',
        WHERE ID= $sIDCliente";
Run Code Online (Sandbox Code Playgroud)

首先我认为它与$ _POST有问题,但是当我回应查询时,它是好的.我得到的错误就是这个:

You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use 
near 'WHERE ID= F17DEF774C' at line 7
Run Code Online (Sandbox Code Playgroud)

那就是页面输出的内容.谢谢大家之前:)

ech*_*ber 5

你在行中有一个额外的逗号

Email = '$_POST[Email]',
Run Code Online (Sandbox Code Playgroud)

应该

Email = '$_POST[Email]'
Run Code Online (Sandbox Code Playgroud)

编辑:

另外我应该提一下,最好使用参数化查询,然后绑定参数.它使您的数据库事务更安全.

所以在你的情况下,它看起来像这样

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'world');
$stmt = $mysqli->prepare("
        UPDATE clientes 
        SET 
          Nombre = ?,
          Apellidos = ?,
          Telefono = ?,
          Email = ?
        WHERE ID= ?
        ");
$stmt->bind_param('ssssd', $_POST[Nombre], $_POST[Apellidos], $_POST[Telefono], $_POST[Email], $sIDCliente);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)