php - 如何在同一查询中两次列出数据库行?

标签 php mysql database

您基本上有两种选择来使用 PHP 回显 HTML 页面中的行:

使用 PDO:

$stmt = $pdo->prepare('SELECT * FROM employees WHERE name = :name');

$stmt->execute(array(':name' => $name));

foreach ($stmt as $row) {
    // do something with $row
}

使用mysqli:

$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);

$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
    // do something with $row
}

因此,当您向 $row 提供第一行的数据时,指针将移动到查询的下一行。如果您需要在页面的其他部分使用相同的数据列表,那么正确的做法是什么?

  1. 将指针返回到第一行(如何操作?);
  2. 记忆查询(并花费更多时间和资源);
  3. 使用数据创建一个数组(如何操作?);

最佳答案

我总是使用数组来实现这一点。如果不出意外,你至少可以保持代码的高可读性。

关于php - 如何在同一查询中两次列出数据库行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16124135/

相关文章:

php - 在php中创建插入函数

php - 安装 imagemagick Ubuntu 14.04 时遇到错误

python - Django Select Query获取带条件的多列

java - Java 中的 native 数据库支持?

.net - 频繁更改数据库的最佳 .NET 解决方案

mysql - Codeigniter 数据库检索大写、小写和混合大小写

php - Laravel 如何保持选择选项被选中

php - 使用 SQL 语句获取数据库中字段的最大整数?

mysql - 使用 'concat' 和 'where' 执行 sql 查询很慢

python - Flask - 获取 session 的查询结果