[英]mysql fetch return only return most recent row in class
我有一個MySql類,並通過將它們作為方法返回來獲取Mysql行:
public function fetch_assoc($result_set){
return mysql_fetch_assoc($result_set);
}
由於某種原因,當我嘗試遍歷已實例化的對象的方法返回時,它僅返回一個結果。
while ($row = $a->fetch_assoc($result_set){
...
}
在采用舊的時尚方式的同時,還給了我所有的靈感
while($row = mysql_fetch_array($result_set)){
$row['0'];
}
有任何想法嗎?
那是因為mysql_fetch_assoc只返回一個結果並將指針移到下一個結果。 因此,在每次迭代中,它返回都會移動指針,並在到達結果結尾時返回false。
您可以通過以下方式修改您的方法以使其起作用:
public function fetch_assoc($result_set){
$resultArray = array();
while ($row = mysql_fetch_assoc($result_set){
$resultArray[] = $row;
}
return $resultArray;
}
您可以這樣使用數據:
foreach ($obj->fetch_assoc($result_set) as $row){
echo $row['stuff'];
}
注意,在這種情況下, $obj->fetch_assoc($result_set)
返回所有結果,而我只是使用foreach循環遍歷它;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.