2016-06-10 159 views
1

我努力從mysql數據庫提取數據並將其呈現在網頁的表格中。我很確定我錯過了一些簡單的東西,但是我對這個東西很陌生,不知道出了什麼問題。希望有人能夠發現我的愚蠢錯誤,並讓我知道!從MySQL中提取多行數據並使用PDO在網頁表格中進行格式化

代碼在表格中打印標題信息確定但我沒有行。

當我想通了,我打算剝離<html>,<head><body>標籤,並在其他一些頁面上使用include。下面

<!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> 

回答

1

$pdo->query()

SteveW

代碼返回設定一個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"; 
      } 
相關問題