2013-04-20 3 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

[** 새 코드 **] (http://bit.ly/phpmsql)에는 mysql_ * 함수를 사용하지 마십시오. 그들은 더 이상 유지되지 않으며 [공식적으로 사용되지 않습니다] (http://j.mp/XqV7Lp). [** 빨간색 상자 **] (http://j.mp/Te9zIL)를 참조하십시오. 대신 [* prepared statements *] (http://j.mp/T9hLWi)에 대해 알아보고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용하십시오. mysqli) - [이 기사] (http://j.mp/QEx8IB)는 어떤 결정을 내리는 데 도움이 될 것입니다. PDO를 선택하면 [여기는 좋은 튜토리얼입니다] (http://j.mp/PoWehJ). – rekire

+0

왜 같은 테이블을 다시 쿼리하여 같은 행을 얻고 싶습니까? $ result [ 'engname']을 사용하여 engGame이 유사 (따라서 유사)하거나 같은 것을 찾으려는 행을 찾으십니까? –

답변

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

+0

은 매력처럼 작동했습니다. 고맙습니다! –

관련 문제