2011-06-07 45 views
1

我希望能夠做這樣的事情:如何在訪問由mysql_fetch_object返回的每一行時進行循環?

function x(){ 
    ....blablabla.. 
return mysql_fetch_object($result); 
} 
$entries = x(); 

foreach($entries as $entry){ 
echo "$entry->member_1"; 

}

當我這樣做,它給了我0的結果並打印在屏幕上什麼都沒有。我已經看到了很多次while循環解決方案,我想知道是否有一種方法可以使用for循環來做到這一點? THX

+2

mysql_fetch_object從查詢中獲取1行,而不是所有行。 – James 2011-06-07 20:06:24

+0

可能的重複[你怎麼可以循環通過一個for循環mysql_fetch_array()?](http://stackoverflow.com/questions/5690015/how-can-you-loop-through-a-mysql-fetch-array -with-a-for-loop) – 2011-06-07 20:07:00

+0

James是對的。你需要做'while($ entry = mysql_fetch_object($ result)){...}'。 – 2011-06-07 20:07:39

回答

2

要麼你想:

function x(){ 
    ....blablabla.. 
    $return = array(); 
    while($object = mysql_fetch_object($result)) $return[] = $object; 
    return $return; 
} 

$entries = x(); 
foreach($entries as $entry){ 
    echo $entry->member_1; 
} 

或者:

function x(){ 
    ....blablabla.. 
    return mysql_fetch_object($result); 
} 
$entries = x(); 

foreach(get_object_vars($entries) as $entry){ 
    echo $entry->member_1; 
} 

我懷疑第一。

+0

它看起來像第一個有道理.. – 2011-06-07 20:27:55

1

是否這樣?

$result = mysql_query(..); 
for (;$row = mysql_fetch_object($result);) { 
    echo $row->member_1; 
} 
相關問題