PDO: 最後に挿入された ID の取得
データベース操作では、テーブルに最後に挿入されたレコードの ID を取得することが必要になることがよくあります。 。 PDO (PHP データ オブジェクト) は、PDO::lastInsertId() メソッドを通じてこれを行う機能を提供します。
最後に挿入された ID を取得するには、SQL INSERT ステートメントを実行し、PDO::lastInsertId を使用する必要があります。 PDO オブジェクトの () メソッド。例:
$stmt = $db->prepare("INSERT INTO `cell-place` (name) VALUES (?)"); $stmt->execute([$name]); $id = $db->lastInsertId();
この例では、$db は PDO オブジェクト、$stmt は準備されたステートメント、$name は挿入される値です。 PDO::lastInsertId() メソッドは、新しく挿入されたレコードの自動インクリメント ID を返します。
指定されたコードのように LAST_INSERT_ID() 関数を直接使用しようとすると、エラーが発生します。これは、LAST_INSERT_ID() が PHP 関数ではなく SQL 関数であるためです。 PDO で使用するには、PDO::lastInsertId() メソッドを利用する必要があります。
または、直接 SQL クエリを使用して最後に挿入された ID を取得できます。
$stmt = $db->query("SELECT LAST_INSERT_ID()"); $row = $stmt->fetch(PDO::FETCH_NUM); $lastId = $row[0];
このアプローチ生の SQL クエリを実行して、最後に挿入された ID を取得します。 PDO::lastInsertId() を使用するよりも効率は劣りますが、ID 取得を手動で実行する必要がある複雑な SQL クエリがある場合に便利です。
以上がPHP で PDO を使用して最後に挿入された ID を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。