繁体   English   中英

MySQL查询语法错误

[英]Mysql query error with syntax

我有此查询,无法找出不正确的地方:

 mysql_query ("UPDATE 'users' SET 'profile'='".$file_path."'WHERE 'id'=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());

这是一个错误:查询错误:。 您的SQL语法有误; 检查与您的MySQL服务器版本对应的手册以获取正确的语法,以在第1行的“用户” SET'profile'='images / profiles / 7fe0e816b0.jpg'WHERE'id'= 72'附近使用

尝试使用backticks而不是single-quotes

 mysql_query ("UPDATE `users` 
               SET `profile`='".$file_path."' 
               WHERE `id`=".(int)$user_id)
  or die ("Error in query: $query. ".mysql_error());

并尝试避免由于整个ext/mysql PHP扩展而产生mysql_*语句,该扩展提供了所有以mysql_*前缀命名的功能,自PHP v5.5.0 mysql_*正式弃用, 并将在以后删除

您可以更好地使用另外两个MySQL扩展: MySQLiPDO_MySQL ,可以使用其中任何一个代替ext/mysql

引号应该是反引号。 将查询更改为此:

mysql_query("UPDATE `users` SET `profile` = '".$file_path."' WHERE `id` = ".(int)$user_id);

不相关的注释:
不要使用不推荐使用的mysql_ *函数,将来会删除它们。 改用PDOmysqli

在'和WHERE之间放置空格。 不必要引用您的字段,因为它们的名称中没有空格

尝试

mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());

使用此查询

  mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id) or die ("Error in query: $query. ".mysql_error());

请在列名和表名两边使用单引号,而不要使用反引号

     mysql_query ("UPDATE `users` SET profile='".$file_path."'
                   WHERE id = '".(int)$user_id."' ")
     or die ("Error in query: $query. ".mysql_error());

尝试在表名和列名周围使用反引号而不是正引号:

UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id

尝试在SQL查询中放置反引号,而不是正引号,并在'和WHERE子句之间放置空格。

您的查询看起来像这样,

mysql_query ("UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id)
or die ("Error in query: $query. ".mysql_error());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM