这是我用来在数据库中插入值$id
,$str
和$name
的代码:
$r=mysql_query("INSERT INTO varta(id,data,name) VALUES('$id','$str','$name');");
但是我收到上述语句的语法错误。这是为什么?我的语法真的错了吗?
答案 0 :(得分:4)
尝试在查询字词之间添加空格,并确保转义输入:
$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');");
答案 1 :(得分:1)
只要您的输入变量被正确转义,您的代码在面值上看起来就可以了。试试这个,这样你就可以看到你正在执行的语句:
$s = "INSERT INTO varta (id,data,name) VALUES('$id','$str','$name');";
echo $s;
$r = mysql_query($s);
检查您的变量是否包含撇号,例如“Daisy O'Donnel”(这表示您没有正确转义它们。)