2014-01-14 166 views
0

我想從一個SQL語句輸出到另一個SQL語句,雖然它似乎並沒有工作。有沒有其他的選擇,我將如何使用它?在另一個SQL語句中使用SQL語句的輸出?

$id = ($_SESSION["user_id"]); 
       $query1 = "SELECT event_id FROM booking where user_id = '$id'"; 
       $result = mysql_query($query1); 

       $query2 = "SELECT * FROM event where event_id = '$result'"; 
       $results = mysql_query($query2); 

回答

3

你可以加入表,請嘗試使用下面的語法

SELECT event.event_id,booking.* 
FROM event 
JOIN booking on event.event_id=booking.event_id 
WHERE booking.user_id='$id'; 
+0

+1 - 禁止一些不尋常的情況,連接將優先於多個查詢。 –

0

什麼是關於使用一個查詢,而不是兩個:

 $id = ($_SESSION["user_id"]); 
     $query2 = "SELECT * FROM event 
        where event_id IN (SELECT event_id 
             FROM booking 
             where user_id = '$id')"; 
     $results = mysql_query($query2); 
0

你也可以這樣做在單個查詢,使用sub-query,像這樣;

$id = $_SESSION["user_id"]; 
$query = "SELECT * FROM event where event_id = (SELECT event_id FROM booking where user_id = '$id' LIMIT 1)"; 
$result = mysql_query($query); 
$row = mysql_fetch_array($result); 

這只是一個db調用而不是兩個,所以效率更高。