更新日: 2016-12-21 (水) 17:53:43 (130d)

:MySQL

PDOを利用して、last insert idを取得する

何かと、さっき更新したデータのIDが必要な場面ってありますよね。
My SQLで

mysql> SELECT LAST_INSERT_ID();

とやれば取得できますが、PDOを利用していれば、PDOの関数を使って、SQLを発行せずにlast insert idを取得することができます。

 $dbh = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

$stmt = $dbh->prepare("INSERT INTO test (name, email) VALUES(?,?)");

   try {
       $dbh->beginTransaction();
       $tmt->execute( array('user', 'user@example.com'));
       print $dbh->lastInsertId(); 
       $dbh->commit();
}

これですね、commitの後に$dbh->lastInsertId(); とやると、0しか返ってきません。
なので、トランザクションの間に取得する必要があります。


選択肢 投票
このページの情報は役に立った 5  
このページの情報は役に立たなかった 0  
どちらでもない 0  
このページが参照された数
Total: 6750, 今日: 1, 昨日: 2

でじうぃきは神奈川県横浜市の位置情報システム・スマホアプリ開発の株式会社オンラインコンサルタントが運営しています。
投稿
トップ   このページを編集する 再編集不可にする 差分 バックアップ 添付 複製 名前変更 リロード   新しいページを作る 一覧 検索する 最新の更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-21 (水) 17:53:43 (130d)