无法在PHP中使用foreach来访问SELECT查询的结果

时间:2018-07-03 02:54:37

标签: php mysql pdo

我有一个名为people的简单表,其中包含三个字段。最终,我想使用SELECT查询的结果来填充表单的默认值,但是现在,我只是试图回显查询的结果。我已经尝试了很多事情,现在在第11行(echo)上收到“数组到字符串转换的数组”错误。这是我正在尝试的:

<?php
 include 'connect_db.php';
 $stmt = $conn->query("SELECT * FROM people");
 $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
 foreach ($results as $key => $value) {
  echo $key . ':' . $value . '<br>';
 }  
?>

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

您将为每行返回一个关联数组。键将是列名。

 include 'connect_db.php';
 $stmt = $conn->query("SELECT * FROM people");
 $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
 foreach ($results as $row) {
  echo $row['some_column_name'] . '<br>';
 }  

 include 'connect_db.php';
 $stmt = $conn->query("SELECT * FROM people");
 $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
 foreach ($results as $row) {
    foreach ($row as $key => $value){
       echo $key . ', ' . $value . '<br>';
    }
 }  

答案 1 :(得分:-1)

您的问题很清楚,您无法显示数组,这意味着您可以尝试使用json_encode($ value)

您可以使用print_r($ value)而不回显