我使用这个语法来更新消息:
$uname=$_POST['username'];
$ans=mysql_query("UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3', WHERE username =$uname") or die("Invalid query: " . mysql_error());$uname在这里是userxyz,错误消息是:
无效查询:您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以便在第1行“WHERE username =userxyx”附近使用正确的语法。
如果我输入单引号(如'$uname' ),或者即使在更新查询中使用'".$_POST['username']."',也会出现相同的错误。
发布于 2015-05-01 09:49:14
删除where前面的逗号(,),然后将$uname放在\"$uname\“中
$ans=mysql_query("UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =\"$uname\"")发布于 2015-05-01 09:53:48
$uname=$_POST['username'];
$ans=mysql_query("UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =$uname") or die("Invalid query: " . mysql_error());尝试在代码中的条件之前删除“where,”(逗号)。
发布于 2015-05-01 09:49:15
1.移除逗号(,)
"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =$uname"$tags更改为addslashes($tags)在通过原始查询进行更新之前。学习这里
https://stackoverflow.com/questions/29984651
复制相似问题