2016-09-15 167 views
1

我在數據庫表中搜索包含「un」的單詞。 如何在輸出$ data中獲得兩個行數據?組合mysql查詢結果

實施例:

col1 | col2 


tom -------- unfriendly 

train ------- fast 

unused--- cloth 

$query = mysql_query("SELECT * FROM table 
WHERE col1 LIKE '%un%' 
OR col2 LIKE '%un%' 
ORDER BY col1 ASC"); 
while ($row = mysql_fetch_array($query)) { 
    $data[] = $row['col1']; 
} 

我從上面的代碼中得到$ data = [tom,unused]。 我怎樣才能得到$ data = [tom友好,未使用 - 布]?

回答

0

嘗試使用CONCAT

SELECT CONCAT(col1, ' - ', col2) AS result 
FROM table 
WHERE col1 LIKE '%un%' OR 
     col2 LIKE '%un%' 
ORDER BY col1 ASC 

然後你就可以訪問結果通過在你的PHP代碼中設置:

while ($row = mysql_fetch_array($query)) { 
    $data[] = $row['result']; 
} 
+0

信譽太低。在未來 – askseekknock

1

正如@TimBegeleisen說,你可以在你的SQL請求中使用CONCAT,但你也可以Concat的字符串,你在你的PHP代碼:

$query = mysql_query("SELECT * FROM table 
WHERE col1 LIKE '%un%' 
OR col2 LIKE '%un%' 
ORDER BY col1 ASC"); 
while ($row = mysql_fetch_array($query)) { 
    $data[] = $row['col1'] . ' - ' . $data['col2']; 
} 
+0

你的答案也可以工作,但後來發現幷包含錯字。 – askseekknock

+0

該死的你錯字! – roberto06

+0

Upvoted是一個不錯的選擇。看到兩種方法中的哪一種在大數據集上實際運行速度會很有趣。 –