我有以下 select 和 while 来填充变量:
$stmt = $dbh->query('SELECT * FROM agendamentos');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
print_r ($row);
}
如您所见,一切正常,print_r 显示了与过滤器匹配的所有数据。
但是当我尝试打印数组时,它是空的,没有数据,是这样的:
$stmt = $dbh->query('SELECT * FROM agendamentos');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
}
print_r ($row);
我是 php 的新手,所以我想我遗漏了一些关于数组的东西。
最佳答案
您只能在 while 循环中使用数组 $row 但要将其取出... 会建议你在循环之前创建一个空数组 并将 row 的值插入其中,您可以通过访问数组在循环外获取它。做这样的事情
$stmt = $dbh->query('SELECT * FROM agendamentos');
$row_result = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
array_push($row_result,$row);
}
echo "<pre>";
var_dump($row_result);
echo "</pre>";
die;
关于php - while关闭后如何保留数组内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46117704/