【 PHP 】PHP8に入門してみた 193日目 PHPの基本 ( データベース オートインクリメント値を取得 )

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

データベース

オートインクリメンタル値取得 lastInsertId

lastInsertIdを使用すると自動採番された最後の値を取得できるそうです。

テーブルの主キーがオートインクリメンタル属性だったとすると、SELECT MAX(主キー) FROM xxxxみたいなクエリを発行するのでしょうかね?

それともシーケンスオブジェクトを参照するのでしょうか。

<!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>
    <?php
    try {
        // データベースへの接続を確立
        $db = getDb();

        // データ挿入
        $db->exec("INSERT INTO member (nam, sex, old, enter, memo) VALUES ('山田君', '男', 18, '2022-04-01', '')");

        // 直近のINSERT命令で取得したオートインクリメント値を取得
        print "直近のID値: {$db->lastInsertId()}";
    } catch (PDOException $e) {
        die("エラーメッセージ: {$$e->getMessage()}");
    }
    ?>
</body>

</html>

メモ

不思議な処理。

PHPPHP

Posted by raika@blog