是否可以将此INSERT查询连接到if语句中?

时间:2014-03-11 09:14:00

标签: php sql insert concatenation

我对这个愚蠢的查询有一些问题,想知道是否有可能在IF语句内部和它之外连接以下INSERT查询以完成查询的其余部分。所以我希望$ orderid在if语句中插入,其余的最后3个变量在IF

之外
if(isset($_POST['Submit'])){

    $orderid=mysql_insert_id();

    $sql = mysql_query("SELECT * FROM course WHERE serial='$serial'") or die(mysql_error()); 
    $fetch = mysql_fetch_assoc($sql);
    $serial = $fetch['serial'];
    $price = $fetch['price'];

    mysql_query("INSERT into course_order_detail values ('$orderid','$serial','1','$price')") or die(mysql_error()); 

}

哦,$ orderid来自我在代码中编写的上一个插入查询。

2 个答案:

答案 0 :(得分:2)

尝试这样

if(isset($_POST['Submit'])){

    $orderid=mysql_insert_id();

    $sql = mysql_query("SELECT * FROM course WHERE serial='$serial'") or die(mysql_error()); 
    $fetch = mysql_fetch_assoc($sql);
    $serial = $fetch['serial'];
    $price = $fetch['price'];

    $in = mysql_query("INSERT into course_order_detail values ('$orderid')") or die(mysql_error()); 
    $new_id = mysql_insert_id();
}

$up = mysql_query("UPDATE course_order_detail SET serial='$serial',quantity='1',price='$price' WHERE orderid = ".$new_id);

答案 1 :(得分:0)

您可以使用nested insert with select

INSERT `into course_order_detail` SELECT '$orderid', serial, '1', price FROM course WHERE serial='$serial'

BTW 清理您的查询