2016-07-27 47 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

相关问题