2016-07-27 50 views
0

我有兩個表(用戶和訂閱)正在插入數據,但是表訂閱從表格用戶使用$sid = mysqli_insert_id($db)獲取用戶標識現在我想從表2中獲取sid,這樣我可以將它傳遞給支付網關。這裏是我的代碼段從2個插入查詢中獲得第二個表的編號

if (isset($_POST['online'])) { 
$_SESSION['lname'] = $db->real_escape_string($_POST['lname']); 
$_SESSION['fname'] = $db->real_escape_string($_POST['fname']); 
$_SESSION['email'] = $db->real_escape_string($_POST['email']); 
$_SESSION['tele'] = $db->real_escape_string($_POST['tele']); 
$_SESSION['sex'] = $db->real_escape_string($_POST['sex']); 
$_SESSION['address'] = $db->real_escape_string($_POST['address']); 
$_SESSION['occupation'] = $db->real_escape_string($_POST['occupation']); 
$_SESSION['org'] = $db->real_escape_string($_POST['org']); 
$_SESSION['amount'] = $db->real_escape_string($_POST['amount']); 



$sql = $db->query("INSERT INTO user (fname, lname, email, tele, sex, occupation, org) 
          VALUES('".$_SESSION['fname']."', '".$_SESSION['lname']."', 
          '".$_SESSION['email']."', 
         '".$_SESSION['tele']."', '".$_SESSION['sex']."', '".$_SESSION['occupation']."', 
         '".$_SESSION['org']."')"); 
$sid = mysqli_insert_id($db); 

$sql = $db->query("INSERT INTO subscription (userid, amount, event, status, statusmessage) 
          VALUES('$sid', '".$_SESSION['amount']."','Main Summit', '0', 'Pending Payment by user')"); 
+0

什麼是表二,你是指訂閱表? – Daan

+1

只需再次使用'mysqli_insert_id($ db)'。 – roberto06

回答

4

只需再打電話mysqli_insert_id

$sql = $db->query("INSERT INTO user (fname, lname, email, tele, sex, occupation, org) 
          VALUES('".$_SESSION['fname']."', '".$_SESSION['lname']."', 
          '".$_SESSION['email']."', 
         '".$_SESSION['tele']."', '".$_SESSION['sex']."', '".$_SESSION['occupation']."', 
         '".$_SESSION['org']."')"); 
$userid = mysqli_insert_id($db); 

$sql = $db->query("INSERT INTO subscription (userid, amount, event, status, statusmessage) 
          VALUES('$userid', '".$_SESSION['amount']."','Main Summit', '0', 'Pending Payment by user')"); 

$subscriptionid = mysqli_insert_id($db); 

我不知道你的$ DB類,但你應該use prepared statements而不是串聯參數。

+0

在問題中,你是否讀過orderid是訂閱表的主鍵和auto_incremented? – Daan

+0

orderid不在代碼中的任何地方,所以我假定海報以某種方式詢問新的訂閱記錄。 –

+0

假設......我需要說更多嗎? – Daan

相關問題