这是我的代码
$sql="INSERT INTO'".$tbl_name."'('username', 'nome', 'cognome', 'password', 'tipo')VALUES('".$submittedUsername."','".$submittedNome."','".$submittedCognome."','".$submittedPassword."','".$submittedTipo."')";
mysql_query($sql)or die(mysql_error());
它不起作用并一直告诉我:
您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,以便在第1行的'registerusers'('username','nome','cognome','password','tipo')附近使用正确的语法
即使在第一行也只是“
答案 0 :(得分:2)
在表名和INSERT INTO
语法之间加一个空格,并将表名包装在`中。不在单撇号中。并从表名周围删除单个撇号。
实施例
您的字符串目前如下所示:
"INSERT INTO'table'('
所以放一个空格并从值中划分SQL语法。
"INSERT INTO 'table'(
然后从表名周围删除'
。
"INSERT INTO table(
最后从列名称周围删除'
。
答案 1 :(得分:1)
您将表名称作为字符串传递给'',传递表名称,您可以不用'',或使用``<这样可以将您的表名保存为“保留字”,这样您就可以调用表status
<它的工作正常,但状态不起作用。
但是你的名为nameoftablewithoutreservedword的表在没有``
答案 2 :(得分:-3)
我认为你不应该在你的行名中。实施例
$sql="INSERT INTO'".$tbl_name."'(username, nome, cognome, password, tipo)VALUES('".$submittedUsername."','".$submittedNome."','".$submittedCognome."','".$submittedPassword."','".$submittedTipo."')";