PHP 中 SELECT 的缺失数据
Missing data with a SELECT in PHP
我在这里找不到问题:
在我的终端上输入时:
SELECT album_id FROM users_albums WHERE user_id=1;
我在终端上有这个:
album_id
3
4
(2 法分)
这是我的目标结果。
但是当我想使用 PHP 得到相同的结果时,这样做:
$albumsID = $this->_db->query("SELECT album_id FROM users_albums WHERE user_id=1");
$donnes = $albumsID->fetch(PDO::FETCH_ASSOC);
var_dump($donnes);
php页中var_dump的结果为:
array(1) { ["album_id"]=> int(3) }
所以我只有第一个 album_id (3),没有第二个 (4)。
我错过了什么?
您使用 fetch()
仅获取 1 行。如果要获取所有行,可以使用:
$donnes = $albumsID->fetchAll(PDO::FETCH_ASSOC);
有了这个:
$donnes = $albumsID->fetch(PDO::FETCH_ASSOC);
这只returns排成一行。你实际上需要循环它:
while($donnes = $albumsID->fetch(PDO::FETCH_ASSOC)) {
$id = $donnes['album_id'];
echo $id;
}
此外,->fetchAll()
也将完成同样的事情 objective:
foreach($albumsID->fetchAll(PDO::FETCH_ASSOC) as $donnes) {
$id = $donnes['album_id'];
echo $id;
}
我在这里找不到问题:
在我的终端上输入时:
SELECT album_id FROM users_albums WHERE user_id=1;
我在终端上有这个:
album_id
3
4
(2 法分)
这是我的目标结果。
但是当我想使用 PHP 得到相同的结果时,这样做:
$albumsID = $this->_db->query("SELECT album_id FROM users_albums WHERE user_id=1");
$donnes = $albumsID->fetch(PDO::FETCH_ASSOC);
var_dump($donnes);
php页中var_dump的结果为:
array(1) { ["album_id"]=> int(3) }
所以我只有第一个 album_id (3),没有第二个 (4)。
我错过了什么?
您使用 fetch()
仅获取 1 行。如果要获取所有行,可以使用:
$donnes = $albumsID->fetchAll(PDO::FETCH_ASSOC);
有了这个:
$donnes = $albumsID->fetch(PDO::FETCH_ASSOC);
这只returns排成一行。你实际上需要循环它:
while($donnes = $albumsID->fetch(PDO::FETCH_ASSOC)) {
$id = $donnes['album_id'];
echo $id;
}
此外,->fetchAll()
也将完成同样的事情 objective:
foreach($albumsID->fetchAll(PDO::FETCH_ASSOC) as $donnes) {
$id = $donnes['album_id'];
echo $id;
}