如何从查询生成的数组中正确获取数据
How to Correctly Fetch Data From Query Generated Array
我通常对执行后从查询中获取数据的正确方法感到困惑。我的最终目标是能够显示所有记录的列表,但我不确定该怎么做。我尝试了几种不同的方法,但 none 已经完全满足了我的需求。例如,当我搜索蝙蝠侠时(应该有 [Batman, 500, 1993] 的记录和 [Batman, 499, 1993] 的记录)这是我尝试过的:
$search->execute();
$result = $search->fetch(PDO::FETCH_ASSOC);
print_r($result);
这给了我:Array ( [comicTitle] => Batman [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] => Array ( [comicTitle] => Batman [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 和 3 个 1,每个之间都有非法字符串偏移警告。
所以如果我想回显一行
"Title: " . $whatevertitle . " Issue: " . $whateverissue . " Release: " $whateverelease
对于找到的每条记录,我如何才能真正从返回的数组中获取这些值?
使用->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>";
}
我通常对执行后从查询中获取数据的正确方法感到困惑。我的最终目标是能够显示所有记录的列表,但我不确定该怎么做。我尝试了几种不同的方法,但 none 已经完全满足了我的需求。例如,当我搜索蝙蝠侠时(应该有 [Batman, 500, 1993] 的记录和 [Batman, 499, 1993] 的记录)这是我尝试过的:
$search->execute();
$result = $search->fetch(PDO::FETCH_ASSOC);
print_r($result);
这给了我:Array ( [comicTitle] => Batman [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] => Array ( [comicTitle] => Batman [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 和 3 个 1,每个之间都有非法字符串偏移警告。
所以如果我想回显一行
"Title: " . $whatevertitle . " Issue: " . $whateverissue . " Release: " $whateverelease
对于找到的每条记录,我如何才能真正从返回的数组中获取这些值?
使用->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>";
}