mysql 中更新查询的错误消息,php
error message with update query in mysq, php
我正在使用此语法更新消息:
$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
,错误消息是:
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE username =userxyx' at line 1
如果我在 '$uname'
中放入单引号,或者即使我在更新查询中使用 '".$_POST['username']."'
,也会出现同样的错误。
把where前面的逗号(,)去掉,把$uname放到\"$uname\"
$ans=mysql_query("UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =\"$uname\"")
1.Remove where
前的逗号 (,)
"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =$uname"
- 你应该改变你的
$tags
至 addslashes($tags)
在通过原始查询更新之前。学习 here
更改您的查询
"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3', WHERE username =$uname"
至
"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =$uname"
您需要先在 phpmyadmin 或 mysql cli 中 运行 您的查询,然后在代码中尝试。所以你会直接知道问题在哪里。
$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
条件之前的“,”(逗号)。
我正在使用此语法更新消息:
$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
,错误消息是:
Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE username =userxyx' at line 1
如果我在 '$uname'
中放入单引号,或者即使我在更新查询中使用 '".$_POST['username']."'
,也会出现同样的错误。
把where前面的逗号(,)去掉,把$uname放到\"$uname\"
$ans=mysql_query("UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =\"$uname\"")
1.Remove where
前的逗号 (,)"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =$uname"
- 你应该改变你的
$tags
至addslashes($tags)
在通过原始查询更新之前。学习 here
更改您的查询
"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3', WHERE username =$uname"
至
"UPDATE userdata SET tag1 = '$tag1', tag2 = '$tag2', tag3 = '$tag3', pass1='$t1', pass2='$t2', pass3='$t3' WHERE username =$uname"
您需要先在 phpmyadmin 或 mysql cli 中 运行 您的查询,然后在代码中尝试。所以你会直接知道问题在哪里。
$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
条件之前的“,”(逗号)。