从PHP/PDO返回MySQL表的数据

从PHP/PDO返回MySQL表的数据

问题描述:

我是PHP新手,对PDO很新。每个人都在告诉我要学习。从PHP/PDO返回MySQL表的数据

我已经设法建立一个连接到我的数据库,我试图返回我的结果并包装DIV中的每一行,但它只返回一个包含所有列标题的数组。

我目前有:

$sql = "SELECT * FROM users"; 
$q = $conn->query($sql) or die("failed!"); 
while($r = $q->fetchAll(PDO::FETCH_ASSOC)){ 
    print_r($r); 
} 

可有人点我在正确的方向,或给我一些有用的网站,可以帮助?

+0

哪里是你的数据库连接? – jcho360 2012-07-10 20:39:23

+0

这就是我用一个include链接到的一个单独文件,上面的工作是因为它拉取我的数据,但是在一个丑陋的数组中 – Liam 2012-07-10 20:40:11

+2

tip:fetchAll()已经检索到结果集中的所有行。在while循环中调用它没有意义,因为无论如何它都会在第一次迭代中获取所有行。 – 2012-07-10 20:43:28

$stmt = $conn->prepare("SELECT * FROM users"); 

$stmt->execute(); 

foreach($stmt as $row) 
{ 
    echo "<div>" . $row['column'] . "</div>" 
} 
+1

准备没有参数的语句有什么意义? – 2012-07-15 10:02:40

这是我更容易做到这一点...

while($r = $q->fetch(PDO::FETCH_LAZY)){ 

    echo '<div>'; 
    echo $r['id']; 
    echo $r['first_name']; 
    echo $r['surname']; 
    echo $r['hometown']; 
    echo $r['facebook']; 
    echo '</div>'; 

} 
+2

我催促你阅读关于yii cms,你会明白为什么我告诉你使用字段数组; yii为每个db表使用自动生成的类,每个类控制一个表;只需使用fields数组并将其作为easyer;想象一下如果你必须编写100个函数,并且在每个函数中你一次又一次地写出所有的$ variable = $ row ['key'];如果你有40个领域呢?插入,搜索,更新,删除...到很多代码... – 2012-07-10 21:19:35

+0

这与yii没有任何关系 - 他可以循环播放这些字段,就像他最初尝试做的一样......他只是放弃了:-) – prodigitalson 2012-07-10 22:42:54