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