我一直在尝试从两个表中的表单插入数据,但我没有运气,最后我尝试了第一个表插入但第二个表是空的,没有插入任何内容,下面是我的查询代码:
$query1=mysql_query("INSERT INTO $Tname (tnumber2, results, idate, iaddress, tstatus, saddress, scountry, ddate, daddress) VALUES('$tnumber2','$results','$idate','$iaddress','$tstatus','$saddress','$scountry','$ddate','$daddress')");
$id = mysql_insert_id();
$query2=mysql_query("INSERT INTO $UPname (tnumber2, pdate, act, paddress, up) VALUES('$tnumber2','$pdate','$act','$paddress','$up')");
我收到此错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'update(tnumber2,pdate,act,paddress,up)VALUES('59644039299744','59644039299'第1行附近使用正确的语法
答案 0 :(得分:1)
从错误:
您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'update(...
'附近使用正确的语法
看起来您的表名为update
这是SQL中的保留字,因此它会产生错误。
如果可能,您应该重命名该表,因为使用保留字作为表或列名称会令人困惑;但如果这不可行,你可以用反引号来逃避这个名字;试试这个你的第二个SQL调用:
INSERT INTO `$UPname` (tnumber2, pdate, act, paddress, up) VALUES('$tnumber2','$pdate','$act','$paddress','$up')");
我还会添加强制警告,mysql_
函数已被弃用,您应该切换到mysqli_或PDO - 它们都可以帮助您编写更安全的代码。此外,如果您要将变量用于表名,则需要确保您非常,非常好地验证它们。