2014-10-01 69 views
1

我很难循环访问PDO中的数据,只要数据中包含特定用户的更多数据,就可以打印数据。我创建了一个执行选择的函数。这是包含选择功能的代码,http://pastebin.com/GiAyCBys。我试图使用下面的代码cartexe.php中使用该功能,通过PDO中的数据循环

while($row = select($conn, 'user', 'cart', $user,':user','*')) 
    {  
     echo 'Hello'; 
    } 

但我陷入了一个无限循环。我很感激任何帮助,我可以得到。

+0

我还是会停留在一个无限循环。 – TheAmazingKnight 2014-10-01 21:46:29

+0

这可能会帮助你,因为它提出了一个类似的问题:http://stackoverflow.com/questions/3601534/infinite-php-while-loop – 2014-10-01 21:47:16

+0

我可以毫不费力地使用mysqli或mysql查询。这有点不同,因为我使用的是PDO,我也在调用函数。 – TheAmazingKnight 2014-10-01 21:49:58

回答

1

解决方法是更改​​select以返回所有行,因为fetch()仅在当时返回单个行。

选项1:

$result = array(); 
while($row = $smtp->fetch(PDO:: FETCH_ASSOC)){  
    $result[]=$row; 
}    
return $result; 

选项2:

$result = $smtp->fetchAll(PDO:: FETCH_ASSOC); 
return $result; 

使用功能类似这样的

$rows = select($conn, 'user', 'cart', $user,':user','*'); 
foreach($rows as $row){ 
//do something with $row 
} 
+0

提取和每个都是我几个小时前解决问题的方式。我非常欣赏这些投入,因为这些投入使我更好地了解了解决问题的方法。 – TheAmazingKnight 2014-10-02 01:24:46