3

mysql_insert_idPDOを使用して取得しようとしています。これまでのところ、挿入と更新の両方で機能する良い例は見つかりませんでした。誰かが例として完全なコードの一部を持っていますか?

4

3 に答える 3

8

更新したばかりの行のIDを返す必要がある 場合$pdo->lastInsertId()(必要な場合はデザインを真剣に再検討しますが、本当に必要になる可能性があります)、次のように更新します。

 UPDATE tablename  SET some_column='somevalue',id=LAST_INSERT_ID(id);
于 2012-06-19T18:03:21.337 に答える
3

PDO::lastInsertId。最後に挿入された行のIDまたはシーケンス値を返します

于 2012-06-19T18:00:28.157 に答える
0
<?php 
try { 
    $dbh = new PDO('mysql:host=localhost;dbname=test', 'usrname', 'passwrd'); 

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

    try { 
        $dbh->beginTransaction(); 
        $stmt->execute( array('user', 'user@example.com')); 
        $dbh->commit(); 
        print $dbh->lastInsertId(); 
    } catch(PDOExecption $e) { 
        $dbh->rollback(); 
        print "Error!: " . $e->getMessage() . "</br>"; 
    } 
} catch(PDOExecption $e) { 
    print "Error!: " . $e->getMessage() . "</br>"; 
} 
?>
于 2012-06-19T18:04:11.890 に答える