Maison  >  Questions et réponses  >  le corps du texte

J'ai configuré le mécanisme de transaction et j'ai délibérément défini la deuxième instruction SQL comme étant fausse. Pourquoi la première instruction SQL a-t-elle finalement été exécutée ?


<?php

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

try{

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

$pdo->beginTransaction();

//La première instruction SQL

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

$ pdo->exec($sqla);

//La déclaration SQL du deuxième jour

$sqlb="delete froms chen Where id=15"; //Écrivez volontairement à partir d'un faux

$pdo- > ;exec($sqlb);


}catch(Exception $e){

$pdo->rollBack();

$e->getMessage();

echo "Opération échoué ";

}

?>


陈老师陈老师2368 Il y a quelques jours1188

répondre à tous(1)je répondrai

  • NULL

    NULL2018-05-21 10:55:04

    Le moteur de base de données est-il MyISAM ? Essayez de le remplacer par InnoDB

    répondre
    1
  • 陈老师

    Oui, j'ai trouvé le problème. Merci beaucoup. Génial.

    陈老师 · 2018-05-21 10:55:46
  • Annulerrépondre