php - MySQL UPDATE 语法错误 - 一切都好吗?

标签 php mysql

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

这是我的代码:

$sQuery = "UPDATE clientes 
        SET 
          Nombre = '$_POST[Nombre]',
          Apellidos = '$_POST[Apellidos]',
          Telefono = '$_POST[Telefono]',
          Email = '$_POST[Email]',
        WHERE ID= $sIDCliente";

起初我认为 $_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

嗯,这就是页面输出的内容。先谢谢大家:)

最佳答案

行中多了一个逗号

Email = '$_POST[Email]',

应该是

Email = '$_POST[Email]'

编辑:

我还应该提到,您最好使用参数化查询,然后绑定(bind)参数。它使您的数据库事务更加安全。

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

$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();

关于php - MySQL UPDATE 语法错误 - 一切都好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20229974/

相关文章:

php - 返回index.php时不执行以增量1增加的更新语句

mysql - Zend Framework 和 Mysql - 非常慢

mysql - SQL删除查询耗时太长,从50万条记录中删除了20k条记录

php - 计算具有相同 id 的行数 [PHP]

php - jquery 加载传递参数

PHP:在子命名空间类中默认使用父命名空间

java - 从局域网计算机访问带有 MySQL DB 的 Java 应用程序

php - 未捕获的 PDOException : could not find driver

php - MySQL 事务 - 更新 2 个表

javascript - Json函数不传递数组