2013-04-20 63 views
0

如何查詢數據庫使用先前查詢的結果,如果他們在數組中?以下是我到目前爲止。如何在PHP中使用數組做一個MYSQL查詢?

$query = "SELECT * from searchtestdb where engname in (SELECT synonyms.synonym FROM words LEFT JOIN synonyms ON synonyms.word_id = words.word_id WHERE word LIKE '%$searchBox%') "; 

while($result = mysql_fetch_array($query)) 
     { 
      echo $result['engname']; 
      echo "<br> "; 
      echo "<br> "; 
     } 

如何獲得$ result ['engname']並再次查詢?我在想像

SELECT * from searchtestdb where engname LIKE '%$result['engname']%'; 

但這顯然不起作用。有任何想法嗎?

+0

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – rekire 2013-04-20 06:28:49

+0

爲什麼你想再次查詢同一個表來獲取同一行?你打算使用$ result ['engname']並查找engGame類似的行(因此類似)還是你想找到相同的行? – 2013-04-20 06:34:12

回答

2
while($result = mysql_fetch_array($query)) 
{ 
    $query2 = "SELECT * from searchtestdb where engname LIKE '%".$result['engname']."%';"; 
    $result2 = mysql_query($query2); 
    while($row = mysql_fetch_array($result2)) 
    { 
     echo $row["somthing"]; 
    } 
} 
+1

很好的答案,但我認爲有關字符串的更多解釋是爲了:欲瞭解更多信息,請閱讀:http://php.net/manual/en/language.operators.string.php – Mortalus 2013-04-20 06:33:36

+0

工作就像一個魅力。謝謝! – 2013-04-20 06:50:11

相關問題