Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO&;使用foreach的MYSQL列表结果_Php_Mysql_Pdo - Fatal编程技术网

Php PDO&;使用foreach的MYSQL列表结果

Php PDO&;使用foreach的MYSQL列表结果,php,mysql,pdo,Php,Mysql,Pdo,在PHP上仍然是个迷,我只是想知道如何才能做到这一点 我试图使用PDO查询列出所有MySQL表数据 基本上,我想在列表中显示表中的两列,并循环每行的html 我有以下HTML: <div class="container-div"> <h3 class="make"></h3> <div class="side-cont"> <h4 class="model"></h4> </div> <

在PHP上仍然是个迷,我只是想知道如何才能做到这一点

我试图使用PDO查询列出所有MySQL表数据

基本上,我想在列表中显示表中的两列,并循环每行的html

我有以下HTML:

<div class="container-div">
  <h3 class="make"></h3>
  <div class="side-cont">
    <h4 class="model"></h4>
  </div>
</div>
我使用以下PHP连接到数据库:

<?php

try {
    $db = new PDO("mysql:host=localhost;dbname=dbname","user","password");
    $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    $db->exec("SET NAMES 'utf8'");
} catch (Exception $e) {
    echo "Could not connect to the database.";
    exit;
}

try {
    $results = $db->query("SELECT Make, Model FROM import ORDER BY Make ASC");
    echo "Successful.";
} catch (Exception $e) {
    echo "Error.";
    exit;
}

?>
我只是不确定如何在我提供的HTML中打印这些数据

任何例子都很好,谢谢,这就是我想要实现的目标:

<div class="container-div">
  <h3 class="make">Make Column</h3>
  <div class="side-cont">
    <h4 class="model">Model Column</h4>
  </div>
</div>

造柱
模型柱
然后循环HTML以显示第二行等

<div class="container-div">
  <h3 class="make">Make Column Row Two</h3>
  <div class="side-cont">
    <h4 class="model">Model Column Row Two</h4>
  </div>
</div>

使列成为第二行
模型列第二行

如果要循环查看结果集,使用
fetch
而不是
fetchAll
总是比较容易。您可以在
while
循环中使用它,如下所示:

while($row = $results->fetch(PDO::FETCH_ASSOC))
{
    echo '
        <div class="container-div">
          <h3 class="make">'.$row["Make"].'</h3>
          <div class="side-cont">
            <h4 class="model">'.$row["Model"].'</h4>
          </div>
        </div>
    ';
}
while($row=$results->fetch(PDO::fetch_ASSOC))
{
回声'
“.$row[“Make”]”
“.$row[“Model”]”
';
}

fetch
在每次调用时返回结果集的一行(编辑:然后将光标设置到下一行),而
fetchAll
一次返回整个结果集。

在没有foreach循环的情况下如何循环结果?工作得很好,因为正如我提到的,
fetch
每次调用时只检索结果集的一行,然后将光标设置到下一行。如果它位于结果集的末尾(在返回最后一行之后),
fetch
返回
false
,这将自动结束
while
循环。
<div class="container-div">
  <h3 class="make">Make Column Row Two</h3>
  <div class="side-cont">
    <h4 class="model">Model Column Row Two</h4>
  </div>
</div>
while($row = $results->fetch(PDO::FETCH_ASSOC))
{
    echo '
        <div class="container-div">
          <h3 class="make">'.$row["Make"].'</h3>
          <div class="side-cont">
            <h4 class="model">'.$row["Model"].'</h4>
          </div>
        </div>
    ';
}