2013-08-27 41 views
0

我正在做一個來自兩個不同表的聯合查詢,然後是fetch_array循環查詢我想知道從哪兩個表中我實際上抓住了,反正沒有添加標誌放入表格的結構中。 ?如何知道fetch_array裏面的表名

回答

1

的標誌並不需要在表中,但可以輕鬆地查詢:

SELECT 'table1' as t, ... FROM table1 
UNION 
SELECT 'table2' as t, ... FROM table2 

... 

echo $row['t']; 

您沒有選擇從表中的字段,你可以簡單地「選擇一個字符串文字「也是如此。

+0

然後找出它我會去'while($ m = mysql_fetch_array($ r)){if(isset($ m ['table1']){} else {}}'? – lbennet

+0

真棒,謝謝。 – lbennet

+0

只需使用'SELECT'table1' t ...',那麼這個值就可以作爲't'的列。 – deceze

1

如果你有兩個表中相同名稱的列,您可以使用作爲

SELECT table1.col1 as col1, table1.col2, table1.col3 FROM table1 
UNION 
SELECT table2.col1 as col4, table1.col5 FROM table2 

然後你做$數據= FETCH_ASSOC($ Q),你將有

$data["col1"] // table1.col1 
$data["col2"] // table1.col2 
----------------------------- 
$data["col4"] //table2.col1