从2个插入查询中获取第二个表中的id

时间:2016-07-27 14:10:57

标签: php mysql mysqli

我有两个表(用户和订阅)我正在插入数据,但是,表订阅使用$sid = mysqli_insert_id($db)从表用户获取userid现在我想从表2中获取sid以便我可以将其传递给支付网关。这是我的代码段

 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')");

1 个答案:

答案 0 :(得分: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而不是连接参数。