2013-01-15 110 views
-2

也許我在混合蘋果和桔子 - $ clist是一個帶有csv的字符串。我無法獲得$ row2 ['$ cat']來回應任何內容。在此先感謝while fore循環內的循環

$cats = explode(",", $clist); 
foreach($cats as $cat) { 
    $cat = trim($cat); 
    $q = "SELECT * FROM contacts WHERE id = '$cat' "; 
    $result = mysql_query($q, $link); 

    $num2=mysql_num_rows($result2); 

    $x = 0; 
    while($x < $num2) { 
    $row2 = mysql_fetch_array($result2); 
    echo $row2['$cat']; 
    $x++; 
    } 
} 
+1

刪除引號。 '$ row2 [$ cat]'否則,單引號會導致字面解釋而不是變量插值。 –

+0

另外,第一次調用'mysql_num_rows()'應該是資源'$ result',而不是'$ result2'。 –

+0

@MichaelBerkowski:你說「而不是」,除非沒有引號,否則沒有插值,因爲沒有字符串。 –

回答

2

從Michael Berkowski的評論:刪除報價。 $row2[$cat]

+2

頂部尊重張貼的答案作爲答案_and_沒有采取代表信用這樣做 –

0

而不是爲您的數組中的每個值查詢,爲什麼不做一個單一的查詢?

$cats = array('ginger','tabby','somthing'); 
$sql = "SELECT * FROM contacts WHERE id IN(\"".implode('", "',$cats)."\")"; 

//SELECT * FROM contacts WHERE id IN("ginger", "tabby", "somthing")