2013-01-01 89 views
2

我有兩個表(table_a和table_b)與一個UNION組合在一起。檢查記錄是否來自table_b

如何檢查記錄是否爲table_a。

我想這一點,但不工作:

$res=mysql_query("(SELECT id, added FROM table_a WHERE user_id = '".$uid."') 
UNION 
(SELECT id as comments, added FROM table_b WHERE user_id = '".$uid."') ORDER BY added DESC LIMIT 50"); 

if(!empty($rows["comments"])) // not working 
+0

我有同樣的問題...我認爲...:http://stackoverflow.com/questions/13598450/add-column-to-say-which-table-a-union-result-is-from –

回答

3

它不工作,因爲你忘了閱讀的結果集:

while ($row = mysql_fetch_assoc($res)) { 
// here you read $rows["comments"] etc 
... 

} 

重要:
請不要使用mysql_*功能,已棄用(請參閱red box),並且易受sql注入攻擊。
使用PDOMySQLi

更新:
如果你想知道從哪個表中的結果「來了」,你可以改變你的查詢:

(SELECT id, added, 'A' as came_from FROM table_a WHERE user_id = '".$uid."') 
UNION 
(SELECT id as comments, added, 'B' as came_from FROM table_b WHERE user_id = '".$uid."') ORDER BY added DESC LIMIT 50 

然後檢查的值:$rows["came_from "]

+0

它寫在我的腳本...我只想知道如何檢查行是否來自table_b –

+0

@HamadaBadran檢查更新 – alfasin

+0

是的,你解決了我的問題,它的工作,現在你應該得到一個重擊...... –