![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.3ベストアンサー
- 回答日時:
使っているRDBMSが「自動インクリメントフィールド、 もしくはシーケンスの概念をサポートしていれば」使えます(ドライバにも依存しますが、サポートしているRDBMS用のドライバでこれが欠落することは一般的には「ない」ので)。
http://php.net/manual/ja/pdo.lastinsertid.php
(当然ですが)phpでよく使うMySQLやPostgreSQLでは問題ありません(マニュアルに記載のとおり、PostgreSQLでは引数でシーケンスオブジェクト名の指定が必須になります)。
No.2
- 回答日時:
PDOはデータベースへアクセスする汎用のモジュールです。
質問者さんがどのデータベースを想定しているか書いていないので
なんともいえませんが、MySQLなのかPostgreなのかまたは全然別のRDBなのか
によって挙動がことなり、画一的な動作は保証されないということでしょう。
またMySQLのようにDBエンジンに選択肢があるものも、そのエンジンによって
挙動がことなってくる可能性はあります。
ご利用のDBの特徴を理解したうえで運用されることが賢明です
http://php.net/manual/ja/pdo.drivers.php
No.1
- 回答日時:
>
http://php.net/manual/ja/pdo.lastinsertid.phpを見る限り、「このメソッドは、異なる PDO ドライバ間で意味のあるもしくは 一貫性のある結果を返さないかも知れません」
とあるので、必ずしも最後のデータではない可能性はあります。
きちんとやるなら、データを挿入する際にプライマリもしくはユニークなデータを保持しておき、
データ挿入後、
select idとなるカラム from テーブル where ユニークなカラム=該当データ
で拾うのが妥当でしょう。
ただ、そもそもlastinsertidの使い道はかなり限定されているので、あまり利用する価値は
ないと思いますが・・・
この回答への補足
ご回答ありがとうございました。
ご提案していただいた方法で実装してみたいと思います。
ところで、大変無知でこんな事を聞くのもお恥ずかしいのですが、「このメソッドは、異なる PDO ドライバ間で意味のあるもしくは 一貫性のある結果を返さないかも知れません」とありますが、「PDOドライバ」とは何者なのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PHP データベースを用いたwebページ 1 2022/12/27 20:12
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
動的なHTMLの書き換え
-
PHPのプログラムについて
-
PDOのlastInsertIDについて
-
functionCheckAuthについて
-
FORMタグを使わずに、POSTする...
-
ini_set("display_errors", On)...
-
$fm = mktime(0,0,0,・・・の0,...
-
クエリストリングが多くなると...
-
phpのプログラミングについて質...
-
ディレクトリ構成とプログラム
-
コメント 中国語 日本語
-
【BAT(バッチ)ファイル】Web...
-
フォントの色を変えるには?
-
AccessのDoCmd.SendObjectについて
-
.phpと.incファイルの違いはな...
-
FTPコマンドでディレクトリごと...
-
リンク先を隠す方法はないでし...
-
【file_exists】ファイルが存在...
-
セッションのクッキー有効期間...
-
配列とオブジェクトの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
smartyでホームページ上の画像...
-
eclipseのエラーの意味
-
phpにて動的なページを生成する...
-
XML-RPCでsend()できない
-
FORMタグを使わずに、POSTする...
-
さくらのレンタルサーバーでメ...
-
illegal string offset
-
PDOのlastInsertIDについて
-
php エラー
-
= $argv[1];はどんな働きがあり...
-
クエリ文字列が取得できない
-
sqliteでのデータベースのlocal...
-
PHPでの再帰を用いたツリー構造...
-
ブラウザゲーム作成までの道の...
-
【PHP】smartyとPHPの記述違い...
-
VBおすすめ書籍
-
ifの中にもうひとつif,else
-
PHPからPerlにデータを渡して結...
-
PHPのコードがそのまま表示され...
-
PHP3で作ったプログラムをPHP4...
おすすめ情報