如何插入两个表

时间:2013-08-20 07:25:38

标签: php mysql

我已经编写了这样的代码:

$password = md5($password);
            mysql_query("INSERT INTO `users` (username,password,email,pnum,hintque,hintans) VALUES('$username','$password','$email','$cnum','$hintque','$hintans')");
            mysql_query("INSERT INTO `personal` (userid,fname,lname,address,dob,country,state,city,poscode) VALUES(LAST_INSERT_ID(),'$fname','$lname','$address','$dob','$country','$state','$city'.'$zip')");
            header("location: ../register.php?feedback=Registration Complete. You May Now Login");

但只有第一个sql成功插入数据。对于第二个失败。 我希望同时触发两个查询。

4 个答案:

答案 0 :(得分:5)

第二个查询可能会失败,因为您有语法错误(请参阅上一个值,.应为,):

mysql_query("INSERT INTO `personal` (userid,fname,lname,address,dob,country,state,city,poscode) VALUES(LAST_INSERT_ID(),'$fname','$lname','$address','$dob','$country','$state','$city','$zip')");

另外,请避免使用mysql_*。该系列功能现已弃用,您应该使用更新的内容,例如MySQLiPDO

答案 1 :(得分:0)

mysql_query("INSERT INTO `personal` (userid,fname,lname,
             address,dob,country,
             state,city,poscode) VALUES (LAST_INSERT_ID(),'$fname','$lname',
        '$address','$dob','$country',
        '$state','$city','$zip')"); 

问题:

'$city'.'$zip''$city','$zip'

注意mysql_*函数现已弃用。尝试使用mysqli

答案 2 :(得分:0)

在脚本中同时发生两件事是不可能的。几乎可能在同一时间。但通常这不是真正的目标。而是看一下所有严肃的数据库管理系统提供的名为transactions的构造。它允许您将一系列sql语句组合到成功或失败的单个单元。

答案 3 :(得分:0)

您还可以尝试mysqli_multi_query