如何从查询生成的数组中正确获取数据

时间:2015-04-26 21:14:20

标签: php arrays pdo fetch

我一般都对执行后从查询中获取数据的正确方法感到困惑。我的最终目标是能够显示所有记录的列表,但我不知道该怎么做。我尝试了几件不同的东西,但没有一件事给了我很多我正在寻找的东西。例如,当我搜索蝙蝠侠(应该有[蝙蝠侠,500,1993]的记录,以及[蝙蝠侠,499,1993]的记录)时,这是我尝试过的:

$search->execute();

$result = $search->fetch(PDO::FETCH_ASSOC);
print_r($result);

这给了我:数组([comicTitle] =>蝙蝠侠[comicIssue] => 500 [releaseDate] => 1993)

这或多或少是我要寻找的格式,只是它只有一条记录而不是全部记录。

$search->execute();

$result = $search->fetchAll(PDO::FETCH_ASSOC);
print_r($result);

这给了我:Array([0] => Array([comicTitle] => Batman [comicIssue] => 500 [releaseDate] => 1993)[1] =>数组([comicTitle] =>蝙蝠侠[comicIssue] => 499 [releaseDate] => 1993))

$search->execute();

$result = $search->fetch(PDO::FETCH_ASSOC);
foreach($result as $row) {
        echo $row['comicTitle']."<BR>";
        echo $row['comicIssue']."<BR>";
        echo $row['releaseDate']."<BR>";

这个回声3 B,3 5&s,以及3 1&1;在每个回声之间都有非法的字符串偏移警告。

所以,如果我想回应一行阅读

"Title: " . $whatevertitle . " Issue: " . $whateverissue . " Release: " $whateverelease

对于找到的每条记录,我如何从返回的数组中实际获取这些值?

1 个答案:

答案 0 :(得分:0)

使用->fetch(PDO::FETCH_ASSOC)

$search->execute();

while($row = $search->fetch(PDO::FETCH_ASSOC)){
        echo "Title: " . $row['comicTitle']."<BR>";
        echo "Issue: " . $row['comicIssue']."<BR>";
        echo "Release: " . $row['releaseDate']."<BR>";
}

使用->fetchAll(PDO::FETCH_ASSOC)

$search->execute();

$result = $search->fetchAll(PDO::FETCH_ASSOC);
foreach($result as $row) {
        echo "Title: " . $row['comicTitle']."<BR>";
        echo "Issue: " . $row['comicIssue']."<BR>";
        echo "Release: " . $row['releaseDate']."<BR>";
}