php - 将数据库结果存储到 PHP 中的变量中
问题描述
我正在尝试存储 MySQL 语句的结果以供以后在 PHP 中使用。我有这段代码可以得到结果:
// Get the categories from the db.
$categories = array();
$catSql = "SELECT id, name FROM categories";
if ($catStmt = mysqli_prepare($db, $catSql))
{
$catStmt->execute();
$result = $catStmt->get_result();
// Fetch the result variables.
while ($row = $result->fetch_assoc())
{
// Store the results for later use.
}
}
所以我知道我会得到结果,$row["id"]
并且$row["name"]
我想保存所有行,所以每当我需要它们时,我可以循环遍历它们,例如回显它们。我已经搜索了将它们保存在 PHP 中的结构和数组,但我似乎找不到任何关于它的信息,或者我可能没有在正确的方向上搜索。谁能指出我应该在哪里阅读以了解如何有效地做到这一点,并在可能的情况下发布一个小例子?
解决方案
使用会话:
if (session_status() == PHP_SESSION_NONE) {
session_start();
}
// Get the categories from the db.
$categories = array();
$catSql = "SELECT id, name FROM categories";
if ($catStmt = mysqli_prepare($db, $catSql))
{
$catStmt->execute();
$result = $catStmt->get_result();
// Fetch the result variables.
while ($row = $result->fetch_assoc())
{
// Store the results for later use.
$_SESSION['category_' . $row['id']] = $row['name'];
}
}
然后稍后从不同的页面访问它
$_SESSION['session_variable_name']
您还可以创建信息数组并将整个数组存储在单个会话变量中。
只需确保在每个页面的开头添加 session_start 函数即可。if 语句可防止您尝试多次启动它。
推荐阅读
- background - 更改媒体提示中的背景图片
- sql-server-2016 - 将多行合并或连接成一个字符串变量
- windows - Powershell 跳转到另一个脚本
- javascript - 事件监听器不工作但没有错误
- perl - 查询AoH值是否存在于同一个Hash中
- hash - 如何从给定的字符串在 Neo4j 中创建哈希?
- javascript - 如何将数组编号分类为偶数、奇数和素数,并将它们分配给 Javascript 中的样式 div?
- .net - Nuget“此类不支持此方法”
- javascript - 用 node.js 替换 PDF 中的字符串 | 操作 pdf 的数据流/缓冲区
- jquery - 成功 AJAX 后更新 div 上的事件处理程序绑定