0

我有这个查询,无法弄清楚什么是不正确的:

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

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

4

8 回答 8

2

尝试使用backticks而不是single-quotes喜欢

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

并尽量避免mysql_*声明,因为整个ext/mysql PHP扩展提供了所有以前缀命名的函数mysql_*,从 开始正式弃用,并将在未来PHP v5.5.0被删除。

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

于 2013-08-26T12:37:21.280 回答
2

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

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

无关注意:
不要使用已弃用的 mysql_*函数,它们将在未来被删除。请改用PDOmysqli

于 2013-08-26T12:38:24.037 回答
1

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

于 2013-08-26T12:37:29.843 回答
1

尝试

mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:38:20.337 回答
1

使用这个查询

  mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id) or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:39:37.373 回答
1

完成在列名和表名周围使用单引号,而不是使用反引号

     mysql_query ("UPDATE `users` SET profile='".$file_path."'
                   WHERE id = '".(int)$user_id."' ")
     or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:43:55.013 回答
0

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

UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id
于 2013-08-26T12:37:44.813 回答
0

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

你的查询看起来像这样,

mysql_query ("UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id)
or die ("Error in query: $query. ".mysql_error());
于 2013-08-26T12:43:09.007 回答