我一般都对执行后从查询中获取数据的正确方法感到困惑。我的最终目标是能够显示所有记录的列表,但我不知道该怎么做。我尝试了几件不同的东西,但没有一件事给了我很多我正在寻找的东西。例如,当我搜索蝙蝠侠(应该有[蝙蝠侠,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
对于找到的每条记录,我如何从返回的数组中实际获取这些值?
答案 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>";
}