2011-04-01 32 views
0

我對PHP和MySQL有點新鮮。我似乎遇到了一些問題。如何遍歷數組,查詢數組中的每個值,直到查詢滿足特定條件。在這種情況下,查詢返回的行數小於5。以下是我有:循環遍歷數組,查詢每個值,直到滿足某些條件爲止

$query1="SELECT UserID FROM Users where RefID='$userid'"; 
$result1=mysql_query($query1); 
while ($row = mysql_fetch_array($result1, MYSQL_NUM) && $sql2querynum < '5') 
{ 
echo ($row[0]); 
echo " 
"; 
$sql2 = "SELECT * FROM Users WHERE RefID=$row[0]"; 
$sql2result = mysql_query($sql2); 
$sql2querynum = mysql_numrows($sql2result); 
} 

問題是,對於每一個呼應了價值,我得到以下警告: mysql_numrows():提供的參數不是一個有效的MySQL結果資源

就像我說的,我是一個新手,所以也許我甚至不會以正確的方式做這件事。

+0

哇......只是...只是不使用週期查詢,好嗎? :)我真的不明白你想要得到什麼,但我認爲你應該使用'group by' – Emmerman 2011-04-01 13:04:01

回答

0

試試這個

 
$query1="SELECT UserID FROM Users where RefID='$userid'"; 
$result1=mysql_query($query1); 
if(mysql_num_rows($result1)<5) 
{ 
while ($row = mysql_fetch_array($result1)) 
{ 
echo ($row[0]); 
echo " 
"; 
$sql2 = "SELECT * FROM Users WHERE RefID=$row[0]"; 
$sql2result = mysql_query($sql2); 
$sql2querynum = mysql_numrows($sql2result); 
} 
} 
0
 
$query1="SELECT UserID FROM Users where RefID='$userid'"; 
$result1=mysql_query($query1); 
while ($row = mysql_fetch_array($result1, MYSQL_NUM) && $sql2querynum < '5') 
{ 
echo ($row[0]); 
echo " 
"; 
$sql2 = "SELECT * FROM Users WHERE RefID={$row[0]}"; 
$sql2result = mysql_query($sql2); 
$sql2querynum = mysql_numrows($sql2result); 
} 

使用{}爲變量 「」 ......爲什麼你不使用連接?

相關問題