我知道有很多方法可以做到这一切,但尝试以最好的方式做到这一点。
我已经创建了db参数,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();
不确定下面是什么......(A)或(B)
我只是想呈现一个简单的数据数组。每行表格中的一行。
选项A
echo $_POST['fieldname1'];
echo $_POST['fieldname2'];
echo $_POST['fieldname3'];
选项B
while ($rows = $sth->fetch(PDO::FETCH_ASSOC)) {
echo $row[fieldname1],'<br>';
}
我对结束充满信心
$dbh = NULL;
?>
任何建议都会非常感激。
<?php
// db parameters
$dbhost = "localhost";
$dbname = "theaudit_db1";
$dbuser = "theaudit_user";
$dbpass = "audit1999";
$dsn = "mysql:host=$dbhost;dbname=$dbname"; // driver invocation (dsn is short for Data Source Name)
try {
$dbh = new PDO($dsn, $dbuser, $dbpass); // connect to new db object (dbh is short for Database Handle)
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // set the PDO error mode to enable exceptions
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); // set the PDO emulate prepares to false
// execute query to database (sth is short for Statement Handle)
$sql = "SELECT * FROM a_aif_remaining";
$sth = $dbh->prepare($sql);
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
$dbh = NULL;
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
答案 0 :(得分:1)
虽然我无法得到A和B之间的联系,但我可以回答
我只是想呈现一个简单的数据数组。每行距离表格一行。
问题。
$sql = "SELECT * FROM a_aif_remaining";
$sth = $dbh->prepare($sql);
$sth->execute();
$data = $sth->fetchAll(PDO::FETCH_ASSOC);
其中$data
是一个寻求的数组。
答案 1 :(得分:0)
更新代码的问题很简单 - 您不会回显您的数据。你需要添加像..
这样的东西 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 ','
}
我也对$ _POST的引用感到困惑。确实两者都是关联数组,但这并不意味着$ _POST选项是可行的 - 如果将数据放在那里(例如$ _POST = $ data),数据只能在$ _POST中可用,这将是毫无意义的。或者,如果您从其他地方发布了数据。似乎都不适合你所要求的,所以我会忘记$ _POST,只是弄清楚如何访问你的多维$ data数组。在这个问题上有无穷无尽的啧啧。尝试使用
var_dump($data)
看看里面的内容应该可以帮助你想象正在发生的事情。
注意:在选项B中,您没有正确连接或引用您的阵列,它应该是:
while ($rows = $sth->fetch(PDO::FETCH_ASSOC)) {
echo $rows[fieldname1].'<br>'; //$row doesnt exist its $rows and you use . to concat not ,
}
啊是的,可能更好地使用unset而不是将$ dbh设置为null
unset($dbh);