php - while关闭后如何保留数组内容

标签 php mysql

我有以下 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/

相关文章:

php - 唯一的表单 token 禁用用户的多任务处理

php - ElasticSearch:关联分数被function_score覆盖

mysql - 来自不同不同表的sql多计数

mySQL 查询——如果值在字符串中

php - PDO 如何在执行 rollBack() 函数之前回滚查询?

php - php根据id添加数据库字段

PHP session 值

php - 这也违反得墨​​忒尔定律?或者扭曲它会是一种矫枉过正吗?

PHP 变量不会在后续查询中被覆盖

php - 插入数据库mysql无法正常工作