PHP PDOでLast Insert IDを取得する方法


  1. lastInsertId()メソッドを使用する方法:
// PDOオブジェクトを作成
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "ユーザー名", "パスワード");
// データを挿入するSQLクエリ
$query = "INSERT INTO 表名 (列名1, 列名2) VALUES (:値1, :値2)";
// ステートメントを準備
$stmt = $pdo->prepare($query);
// 値をバインド
$stmt->bindParam(':値1', $値1);
$stmt->bindParam(':値2', $値2);
// クエリを実行
$stmt->execute();
// Last Insert IDを取得
$lastInsertId = $pdo->lastInsertId();
// 結果を表示
echo "Last Insert ID: " . $lastInsertId;
  1. SELECT文を使用してLast Insert IDを取得する方法:
// PDOオブジェクトを作成
$pdo = new PDO("mysql:host=localhost;dbname=mydatabase", "ユーザー名", "パスワード");
// データを挿入するSQLクエリ
$query = "INSERT INTO 表名 (列名1, 列名2) VALUES (:値1, :値2)";
// ステートメントを準備
$stmt = $pdo->prepare($query);
// 値をバインド
$stmt->bindParam(':値1', $値1);
$stmt->bindParam(':値2', $値2);
// クエリを実行
$stmt->execute();
// Last Insert IDを取得するためのSELECT文を実行
$lastInsertIdQuery = "SELECT LAST_INSERT_ID()";
$lastInsertIdStmt = $pdo->query($lastInsertIdQuery);
$lastInsertIdResult = $lastInsertIdStmt->fetch(PDO::FETCH_ASSOC);
// Last Insert IDを取得
$lastInsertId = $lastInsertIdResult['LAST_INSERT_ID()'];
// 結果を表示
echo "Last Insert ID: " . $lastInsertId;

これらの方法を使用すると、PHPのPDO拡張を介してデータベースに行を挿入した後に、自動生成されたIDを取得できます。