【 PHP 】PHP8に入門してみた 194日目 PHPの基本 ( データベース データ取得 )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

データベース

データ取得

データの取得サンプルを確認したいと思います。

<!DOCTYPE html>
<?php require_once './Encode.php'; ?>
<?php require_once './DbManager.php'; ?>

<html>

<head>
    <meta charset="UTF-8" />
    <title>こんにちは!</title>
    <!-- Bootstrapを有効化 -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>

<body>
    <table class="table">
        <thead>
            <tr>
                <th>ISBNコード</th>
                <th>書名</th>
                <th>価格</th>
                <th>出版社</th>
                <th>刊行日</th>
            </tr>
        </thead>
        <tdoby>
            <?php
            try {
                // データベースへの接続を確立
                $db = getDb();
                // SELECT
                // プレイスホルダーを使わないならqueryメソッドでも良いそうです。
                $stt = $db->prepare('SELECT * FROM book ORDER BY published DESC');
                $stt->execute();
                // 結果セットを出力
                // 結果セットから個々の行を取得することを「フェッチする」と言います。
                // FETCH_ASSOCは取得の形式をあらわす定数のようです。この場合は(連想配列)です。
                while ($row = $stt->fetch(PDO::FETCH_ASSOC)) {

            ?>
                    <tr>
                        <td><?= e($row['isbn']) ?></td>
                        <td><?= e($row['title']) ?></td>
                        <td><?= e($row['price']) ?></td>
                        <td><?= e($row['publish']) ?></td>
                        <td><?= e($row['published']) ?></td>
                    </tr>
            <?php
                }
            } catch (PDOException $e) {
                die("エラーメッセージ:{$e->getMessage()}");
            }
            ?>
        </tdoby>
    </table>
</body>

</html>

メモ

いろんなフェッチがあって、fetchObjectが一番使いやすそうに思いました。

PHPPHP

Posted by raika@blog