2013-08-20 14 views
0

我已經寫這樣的代碼:如何將兩個表

$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成功插入數據。第二次失敗。 我希望同時觸發這兩個查詢。

+0

..., '$城市' '$拉鍊')逗號丟失 –

+0

不要使用已棄用MySQL庫... – ciruvan

+0

*旁註:*停止使用廢棄的'mysql_ *功能。改用MySQLi或PDO。 – Raptor

回答

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

+0

你沒有告訴OP **他做錯了什麼**。你只是說明了正確的代碼。 – MisterBla

+0

@RichardA我正在一步一步寫作。 – som

0

在腳本中同時發生兩件事是不可能的。幾乎在同一時間可能是可能的。但通常這不是目標。相反,請查看所有嚴重數據庫管理系統提供的名爲transactions的構造。它允許你將一系列的sql語句組合成一個成功或失敗的單元。

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_*

5

第二個查詢可能是因爲你有語法錯誤(見最後一個值,.應該,)失敗。現在這個函數家族已經被棄用了,你應該使用更新的東西,比如MySQLi或者PDO