Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这是我用来插入值的代码$id,$str并且$name在数据库中:
$id
$str
$name
$r=mysql_query("INSERT INTO varta(id,data,name) VALUES('$id','$str','$name');");
但是我收到上述语句的语法错误。这是为什么?我的语法真的错了吗?
尝试在查询词之间添加空格并确保您转义输入:
$id = mysql_real_escape_string($id); $str = mysql_real_escape_string($str); $name = mysql_real_escape_string($name); $r=mysql_query("INSERT INTO varta (id,data,name) VALUES ('$id','$str','$name');");
或者更好 - 看看MySQLi或PDO并使用准备好的语句。
只要您的输入变量正确转义,您的代码在面值上看起来还可以。试试这个,这样你就可以看到你正在执行的语句:
$s = "INSERT INTO varta (id,data,name) VALUES('$id','$str','$name');"; echo $s; $r = mysql_query($s);
检查您的变量是否不包含撇号,例如“Daisy O'Donnel”(这表明您没有正确转义它们)。