我的代码是
$user_query = '
UPDATE
users
SET
`password`="$password",
`email`="$email",
`position`="$position",
WHERE
`username`=".$uname."';
$user_result = mysql_query($user_query, $connection);
confirm_query($user_result);
Run Code Online (Sandbox Code Playgroud)
当我运行此查询时,它给我一个错误:
数据库查询失败:您的SQL语法中有错误;
检查与MySQL服务器版本对应的手册,以便在'WHEREusername=" 附近使用正确的语法.$ uname."'在第7行
任何人都可以帮我解决这个错误吗?
您的查询是单引号,因此不会解析变量.正如您所看到的那样,字符串就是字面意思
`username`=".$uname."
Run Code Online (Sandbox Code Playgroud)
你需要在enitre周围使用双引号来正确解析变量.
$user_query = "
UPDATE
users
SET
`password`='$password',
`email`='$email',
`position`='$position'
WHERE
`username`='$uname'";
Run Code Online (Sandbox Code Playgroud)
或者正确使用字符串连接运算符..
$user_query = '
UPDATE
users
SET
`password`="'.$password.'",
`email`="'.$email.'",
`position`="'.$position.'"
WHERE
`username`="'.$uname.'"';
Run Code Online (Sandbox Code Playgroud)
正如其他人所指出的,这里还有一个额外的,后postion="$position".