我有这个查询,无法弄清楚什么是不正确的:
mysql_query ("UPDATE 'users' SET 'profile'='".$file_path."'WHERE 'id'=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());
这是一个错误: 查询错误:。您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在''用户'附近使用正确的语法SET'profile'='images / profiles / 7fe0e816b0.jpg'WHERE'id'= 72'在第1行
答案 0 :(得分: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
扩展程序:MySQLi
和PDO_MySQL
,其中任何一个都可以用来代替ext/mysql
。
答案 1 :(得分:2)
引号应该是反引号。将查询更改为:
mysql_query("UPDATE `users` SET `profile` = '".$file_path."' WHERE `id` = ".(int)$user_id);
答案 2 :(得分:1)
将空格放在'和WHERE之间。不必要引用你的字段,因为它们的名称中没有空格
答案 3 :(得分:1)
尝试
mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id)or die ("Error in query: $query. ".mysql_error());
答案 4 :(得分:1)
使用此查询
mysql_query ("UPDATE users SET profile='".$file_path."' WHERE id=".(int)$user_id) or die ("Error in query: $query. ".mysql_error());
答案 5 :(得分:1)
在列名和表名周围使用单引号,而不是使用反引号
mysql_query ("UPDATE `users` SET profile='".$file_path."'
WHERE id = '".(int)$user_id."' ")
or die ("Error in query: $query. ".mysql_error());
答案 6 :(得分:0)
尝试在表名和列名周围使用反引号而不是前引号:
UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id
答案 7 :(得分:0)
尝试将反引用放在sql查询中而不是引用引号,并在'And WHERE子句之间放置空格。
您的查询看起来像这样,
mysql_query ("UPDATE `users` SET `profile`='".$file_path."' WHERE `id`=".(int)$user_id)
or die ("Error in query: $query. ".mysql_error());