我在mysql数据库中有一些数据。每次数据库都包含不同的行数。
我的表的一个例子是:
id team1 team2 home away tip
----------------------------------
12 xxx yyy zzz kkk
43 xxx yyy zzz kkk
. . . . .
. . . . .
所以我需要做的是循环遍历表的每一行,并能够从该行获取数据,以便我可以创建提示。
我对如何用pdo做到这一点感到困惑。
到目前为止我尝试过尝试获取这样的数据列:
$stmt = $db->prepare("SELECT id FROM tablename");
$stmt->execute();
$result=$stmt->fetchColumn();
echo $result[0];
但即便如此,我希望能给我回复第一个ID,在这种情况下是12,只返回我1.这里有任何想法吗?
答案 0 :(得分:1)
$stmt = $db->prepare("SELECT id FROM tablename");
try{
$stmt->execute();
}catch(PDOException $err){
//some logging function
}
//loop through each row
while($result=$stmt->fetch(PDO::FETCH_ASSOC)){
//select column by key and use
echo $result['id'];
}
或者您可以使用fetchAll将整个数据集选择为变量。那你就不需要循环
了这是PDO的有用资源:
答案 1 :(得分:0)
$getUsers = $DBH->prepare("SELECT * FROM tablename ORDER BY id ASC");
$getUsers->execute();
$users = $getUsers->fetchAll();
可能会帮助你
答案 2 :(得分:0)
尝试打印没有索引的结果
$stmt = $db->prepare("SELECT id FROM tablename ORDER BY id ASC");
$stmt->execute();
$result = $stmt->fetchColumn();
echo $result;
答案 3 :(得分:0)
使用fetch(使用FETCH_NUM)代替fetchColumn
$stmt = $db->prepare("SELECT id FROM tablename");
$stmt->execute();
$result=$stmt->fetch(PDO::FETCH_NUM);
echo $result[0];
答案 4 :(得分:0)
如果你想循环,你可以使用while循环 以下是示例
<?php
$stmt =("SELECT id FROM tablename");
$result=$db->prepare($stmt );
$result->execute();
while($row = $result->fetch(PDO::FETCH_ASSOC))
{
$id = $row['id'];
echo $id;
}
?>