LoginSignup
2
1

More than 1 year has passed since last update.

PHPでMySQL(データベース)の情報をWebページに表示させたい

Last updated at Posted at 2021-11-10

前提条件

MySQLのデータベース、テーブルをあらかじめ用意しておく
PHPMyadminが開ける

参考:PHP maniual 接続、および接続の管理

出力させたいWebページに書く内容

データベースに接続する

接続するためにPDOというクラスがPHPに用意されているので、インスタンス化して接続に必要な情報を引数に渡す。

<?php
  $pdo = new PDO("mysql:host=接続先のサーバのアドレス;dbname=データベース名;charset=utf8", "ユーザ名", "パスワード");
?>

デフォだとユーザ名はroot, パスワードは""と空でも繋がる。

データベースからデータを取得する

データを取得するためのSQL文を変数sqlにセット。
さっき作ったインスタンスが入っているpdoに、SQL文を渡す。
最後にexecute()で、変数stmtを実行。

<?php
    $sql = "SELECT * FROM テーブル名 ORDER BY update_at";
    $stmt = $pdo->prepare($sql);
    $stmt -> execute();
?>

print_rで取得したデータを表示してみる

変数rowにfetchで1行ずつデータを取り出して入れておく。
PDO::FETCH_ASSOCをfetchの引数にすると、カラム名を添字にした配列にすることができる。
print_rで配列を出力して改行している。
…というのを、while文であるだけぐるぐる出力している。

<?php
     while ($row = $stmt -> fetch(PDO::FETCH_ASSOC )) {
        print_r($row);
        echo("<br/>");
    }
?>

連想配列を使って、欲しいとこにデータを埋め込んでいく

さっきはprint_rで一気にキーと値が表示されていたので、これを連想配列の書き方を使って必要なとこに必要な情報を埋め込んでいく。
例えばこんな感じ。

<table>
 <tr>
  <th>id:<?php $row[id]; ?></th>
  <th>投稿内容: <?php $row[content]; ?></th>
 </tr>
</table>
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1