Php 如何在同一查询中两次列出数据库行?
基本上,您有两个选项可以使用PHP回显HTML页面中的行: 使用PDO:Php 如何在同一查询中两次列出数据库行?,php,mysql,database,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-&
$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时,指针将移动到查询的下一行。如果在页面的其他部分需要相同的数据列表,正确的做法是什么
我总是为此使用数组。。如果没有其他内容,您至少可以保持代码的高可读性。只需创建
全局数组
您是否有关于如何将$row对象传递给数组变量的代码示例以显示我,请?:-)@EASI您可以在while循环之前创建一个全局数组global$myarray=array()
然后在循环中,您只需按所需的方式将数据传递到数组。这一切都取决于您,我通常使用2D数组并像这样传递值:$myarray[row['ID']]=array(row['firstname',row['lastname'])代码>。然后您可以使用ID轻松访问这些数据。。。。例如,数据库中ID为15的个人的名字将位于$myarray[15][0]中代码>