Php Mysql查询语法错误

Php Mysql查询语法错误,php,mysql,database,Php,Mysql,Database,我有这个问题,无法找出什么是不正确的: mysql_query ("UPDATE 'users' SET 'profile'='".$file_path."'WHERE 'id'=".(int)$user_id)or die ("Error in query: $query. ".mysql_error()); 这里有一个错误: 查询中出现错误:。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在第1行的“用户”设置“配置文件”=“图像/配置文件/7fe0e816b0.j

我有这个问题,无法找出什么是不正确的:

 mysql_query ("UPDATE 'users' SET 'profile'='".$file_path."'WHERE 'id'=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());
这里有一个错误:
查询中出现错误:。您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解在第1行的“用户”设置“配置文件”=“图像/配置文件/7fe0e816b0.jpg”中使用的正确语法,其中“id”=72

 mysql_query ("UPDATE `users` 
               SET `profile`='".$file_path."' 
               WHERE `id`=".(int)$user_id)
  or die ("Error in query: $query. ".mysql_error());
并尽量避免使用
mysql\u*
语句,因为整个
ext/mysql PHP
扩展提供了所有以前缀
mysql\u*
命名的函数,从
phpv5.5.0
开始正式弃用,并将在将来删除


您可以更好地使用另外两个
MySQL
扩展:
MySQLi
PDO_-MySQL
,这两个扩展都可以用来代替
ext/MySQL

将空格放在“和”之间。由于字段名称中没有空格,因此不必对字段进行引号引用

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

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


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

mysql_query("UPDATE `users` SET `profile` = '".$file_path."' WHERE `id` = ".(int)$user_id);
无关注释:
不要使用不推荐使用的函数,它们将在将来被删除。使用或。使用此查询

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

尝试在sql查询中放置反引号,而不是前向引号,并在'and 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());