Arrays 如何使用PDO获取和显示数组?

Arrays 如何使用PDO获取和显示数组?,arrays,pdo,fetch,Arrays,Pdo,Fetch,我知道有很多方法可以做到这一点,但要努力做到最好 我已经创建了数据库参数,dns,dbh,sth,sql,并且通常对结果非常满意,直到。。。好。。。结果部分 <?php // db parameters $dbhost = "localhost"; $dbname = "x"; $dbuser = "y"; $dbpass = "z"; // driver invocation (dsn is short for data source name) $dsn = "mysql:host

我知道有很多方法可以做到这一点,但要努力做到最好

我已经创建了数据库参数,dns,dbh,sth,sql,并且通常对结果非常满意,直到。。。好。。。结果部分

<?php

// db parameters
$dbhost = "localhost";
$dbname = "x";
$dbuser = "y";
$dbpass = "z";

// driver invocation (dsn is short for data source name)
$dsn = "mysql:host=$dbhost;dbname=$dbname";

// create db object (dbh is short for database handle)
$dbh = new PDO($dsn, $dbuser, $dbpass);

// execution of database query (sth is short for statement handle)
$sql = "SELECT * FROM a_aif_remaining";
$sth = $dbh->prepare($sql);
$sth->execute();
选项B

while ($rows = $sth->fetch(PDO::FETCH_ASSOC)) {
    echo $row[fieldname1],'<br>';
    }
如有任何建议,将不胜感激




更新代码:(在页面上不生成任何内容)
虽然我不知道A和B之间有什么联系,但我可以回答这个问题

我只想展示一个简单的数据数组。表中每行一行

问题

$sql = "SELECT * FROM a_aif_remaining";
$sth = $dbh->prepare($sql);
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);

其中,
$data
是数组的搜索对象。

虽然我无法获得a和B之间的连接,但我可以回答以下问题:

我只想展示一个简单的数据数组。表中每行一行

问题

$sql = "SELECT * FROM a_aif_remaining";
$sth = $dbh->prepare($sql);
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);

其中,
$data
是一个搜索数组。

更新代码的问题很简单-您没有回显数据。您需要添加类似

   foreach($data as $arKey=>$dataRow){
        foreach($dataRow as $arKey=>$rowField){
             echo $rowField.','; //concat with a ',' to give csv like output 
        }
        echo '<br>'; //to get to next line for each row (may want to trim the last ','
   }
看看里面有什么可以帮助你想象发生了什么

注意:在选项B中,您没有正确连接或引用数组,它应该是:

    while ($rows = $sth->fetch(PDO::FETCH_ASSOC)) {
        echo $rows[fieldname1].'<br>'; //$row doesnt exist its $rows and you use . to concat not ,
        }

更新后的代码的问题很简单-您没有回显数据。您需要添加类似

   foreach($data as $arKey=>$dataRow){
        foreach($dataRow as $arKey=>$rowField){
             echo $rowField.','; //concat with a ',' to give csv like output 
        }
        echo '<br>'; //to get to next line for each row (may want to trim the last ','
   }
看看里面有什么可以帮助你想象发生了什么

注意:在选项B中,您没有正确连接或引用数组,它应该是:

    while ($rows = $sth->fetch(PDO::FETCH_ASSOC)) {
        echo $rows[fieldname1].'<br>'; //$row doesnt exist its $rows and you use . to concat not ,
        }

我已经尝试了你的建议,但它不起作用。我甚至把它包装在一个exception子句中,但仍然不起作用。A和B之间的联系是两者都是一个关联数组,不是吗?我尝试了你建议的方法,但它不起作用。我甚至将其包装在一个exception子句中,但仍然不起作用。A和B之间的联系是两者都是关联数组,不是吗?这段代码似乎不打算在页面上生成任何内容。“array”这个词在计算机语言中有特殊的含义,它是一个复杂类型的变量,包含其他变量——所以我接受了它。如果您的意思是“我的页面上的字符串数组”-可以使用我代码中的B或
foreach
变量或
$data
变量。我的意思是像CSV文件一样基本上。。。一个sql结果显示在浏览器的一行上。此代码似乎无意在页面上生成任何内容。“array”这个词在计算机语言中有特殊的含义,它是一个复杂类型的变量,包含其他变量——所以我接受了它。如果您的意思是“我的页面上的字符串数组”-可以使用我代码中的B或
foreach
变量或
$data
变量。我的意思是像CSV文件一样基本上。。。一个sql结果显示在浏览器中的一行上。
    while ($rows = $sth->fetch(PDO::FETCH_ASSOC)) {
        echo $rows[fieldname1].'<br>'; //$row doesnt exist its $rows and you use . to concat not ,
        }
unset($dbh);