Heim  >  Fragen und Antworten  >  Hauptteil

Ich habe den Transaktionsmechanismus eingerichtet und die zweite SQL-Anweisung absichtlich falsch eingestellt. Warum sollte die erste SQL-Anweisung am Ende nicht zurückgesetzt und überhaupt nicht ausgeführt werden?


<?php

$pdo=new PDO('mysql:host=localhost;dbname=student','root','root');

try{

$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$pdo->beginTransaction();

//Die erste SQL-Anweisung

$sqla="delete from chen where id=14";

$ pdo->exec($sqla);

//Die SQL-Anweisung am zweiten Tag

$sqlb="delete froms chen where id=15" //Mit Absicht von falsch schreiben

$pdo- > ;exec($sqlb);


}catch(Exception $e){

$pdo->rollBack();

$e->getMessage();

echo "Operation fehlgeschlagen ";

}

?>


陈老师陈老师2368 Tage vor1185

Antworte allen(1)Ich werde antworten

  • NULL

    NULL2018-05-21 10:55:04

    数据库引擎是不是MyISAM,改成InnoDB试试

    Antwort
    1
  • 陈老师

    嗯 是的 发现问题了 非常感谢您 厉害

    陈老师 · 2018-05-21 10:55:46
  • StornierenAntwort