“PDO ID terakhir” Kode Jawaban

php pdo ID insert terakhir

$stmt = $db->prepare("...");
$stmt->execute();
$id = $db->lastInsertId();
Distinct Dolphin

PDO ID terakhir


Beware of lastInsertId() when working with transactions in mysql. The following code returns 0 instead of the insert id.



<?php

try {

    $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', '[email protected]'));

        $dbh->commit();

        print $dbh->lastInsertId();

    } catch(PDOExecption $e) {

        $dbh->rollback();

        print "Error!: " . $e->getMessage() . "</br>";

    }

} catch( PDOExecption $e ) {

    print "Error!: " . $e->getMessage() . "</br>";

}

?>



When no exception is thrown, lastInsertId returns 0. However, if lastInsertId is called before calling commit, the right id is returned.
Adventurous Anaconda

Jawaban yang mirip dengan “PDO ID terakhir”

Pertanyaan yang mirip dengan “PDO ID terakhir”

Lebih banyak jawaban terkait untuk “PDO ID terakhir” di PHP

Jelajahi jawaban kode populer menurut bahasa

Jelajahi bahasa kode lainnya