PHPでPDOを使用してインサートする時の質問です。
lastInsertIdを取得するにはbeginTransactionとcommitを使って、
PHP
1 try { 2 $dbh = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); 3 4 $stmt = $dbh->prepare("INSERT INTO test (name, email) VALUES(?,?)"); 5 6 try { 7 $dbh->beginTransaction(); 8 $tmt->execute( array('user', 'user@example.com')); 9 $dbh->commit(); 10 print $dbh->lastInsertId(); 11 } catch(PDOExecption $e) { 12 $dbh->rollback(); 13 print "Error!: " . $e->getMessage() . "</br>"; 14 } 15} catch( PDOExecption $e ) { 16 print "Error!: " . $e->getMessage() . "</br>"; 17}
って言う風にやらないとダメなんですよね・・・?
トランザクション使わないと値が取れない?または正しい値が取れない可能性があるという認識でよろしいでしょうか?
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/03/12 07:55
2017/03/13 01:03