我正在努力从mysql数据库中提取数据并将其呈现在网页上的表格中。我很确定我错过了一些简单的东西,但我对这些东西不熟悉并且无法弄清楚出了什么问题。希望有人能发现我的愚蠢错误并让我知道!
代码打印表格中的标题信息确定但我没有行。
当我发现它时,我计划剥离<html>
,<head>
和<body>
标记,并在其他网页上使用包含。
SteveW
以下代码
<!DOCTYPE html>
<html>
<?php
//database login info
require_once 'dbconfig.php';
try {
//connect to batabase
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
//check connection to database. It works OK
echo "Connected to database $dbname at $host successfully. <br>";
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = ("SELECT `name`, `comment`, `entered` FROM `comment`");
$result = $pdo->query($sql);
}
//connection error
catch (PDOException $pe) {
die("Could not connect to the database $dbname :" . $pe->getMessage());
}
?>
<head></head>
<body>
<div id="container">
<h1>Comments</h1>
<table width ="100%" border ="1">
<thead>
<tr>
<td>Name</td>
<td>Comment</td>
<td>Entered</td>
</tr>
</thead>
<tbody>
<?php while ($row = $result->FetchALL(PDO::FETCH_ASSOC)) {
echo
"<tr> <td>".$row['comment']." </td>
<td>".$row['name']." </td>
<td>".$row['entered']." </td>
</tr>\n";
}
$pdo->close;
?>
</tbody>
</table>
</body>
</html>
答案 0 :(得分:1)
<强> $pdo->query() 强>
返回PDOStatement对象,或者失败时返回FALSE。
S0 无需获取两次 $result->FetchALL(PDO::FETCH_ASSOC)
只需使用foreach循环
foreach ($result as $row) {
echo
"<tr> <td>".$row['comment']." </td>
<td>".$row['name']." </td>
<td>".$row['entered']." </td>
</tr>\n";
}