2016-04-07 20 views
0

PDOを学習しようとしていますが、チュートリアルに従っているため、何らかの理由でテーブル内に何も表示できません。私はデータベース内に1つのレコードを表示する必要があります。私は間違いを受けていないので、私はそれが何であるかを完全に確信していません。PDO SELECTクエリで結果が表示されない

それは誰でも見ることができますか?

ini_set('display_errors', 1); 
error_reporting(E_ALL); 
try { 
    $host = 'localhost'; 
    $name = ''; 
    $user = ''; 
    $password = ''; 

    $dbc = new PDO("mysql:host=$host;dbname=$name", $user, $password); 

}catch(PDOException $e) { 
    echo $e->getMessage(); 

} 
?> 
    <table> 
     <thead> 
      <tr> 
       <th>ID</th> 
       <th>First Name</th> 
       <th>Last Name</th> 
       <th>Product</th> 
       <th>Save</th> 
      </tr> 
     </thead> 
     <tbody> 

     <?php 
     $stmt = $dbc->query("SELECT * FROM users"); 
     $stmt->setFetchMode(PDO::FETCH_ASSOC); 

     while($row = $stmt->fetch()) { 

     ?> 
      <tr> 
       <td><input name="id" value="<?$row['id'];?>"></td> 
       <td><input name="first" value="<?$row['first'];?>"></td> 
       <td><input name="last" value="<?$row['last'];?>"></td> 
       <td><input name="product" value="<?$row['product'];?>"></td> 
       <td><button name="save" type="submit">Save</button></td> 
      </tr> 
     <?php } ?> 
     </tbody> 
    </table> 
+1

の設定あなたは 'echo' – Ghost

+2

またはあなたがこのような何かを行うことができますを忘れてしまった...' <= $行[ 'ID'];?> 'あなたは速記... –

+0

を使用しているので、ビデオはその中に 'echo'を使用していないので、彼のショーはどうですか?私のものではない? – Becky

答えて

1

ショートコードを使用すると、ショートコードはPHP

でオンになっていることは、これは任意の上で動作するように、そのように長い<?phpを使用する方が安全であることを確認する必要があります。また<?=ない<?ですPHP

<td><input name="id" value="<?php echo $row['id'];?>"></td> 
+0

私は 'prepared statements'が' database'と通信するのに最も安全で安全な方法だと知っていますが、 'prepared statement'で' SELECT'クエリを 'PDO'でどうすればいいですか? – Becky

+0

このクエリは実際には必要ありません。一度だけ実行されるため、$ _POSTや$ _GETのような危険な場所からパラメータが使用されることはありません。 – RiggsFolly

+0

Gotcha!ですから、私は '$ _POST'や' $ _GET'メソッドを使うフォームや他のインスタンスのようなものから準備されたステートメントを実行するだけです。 – Becky

関連する問題