sql >> Database >  >> RDS >> Mysql

Hoe een try-catch-blok voor PDO te gebruiken?

Geen van de antwoorden hier is fout. Maar eigenlijk zijn alle drie gecombineerd het echte antwoord. Je moet zeker

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

zoals gezegd door Cerad .

Vanaf nu wordt elk probleem over alles wat met databases te maken heeft, gegooid via een uitzondering van het type PDOException . Je hoeft alleen niet je eigen Exception te gooien zoals gezegd door ladar omdat het nutteloos is. Neem gewoon de ladar code en zet het om in

 ...
 $data = array();
 $model = new BlogModel;

    try{
      $model->save(2,'test');
      $data['result']['message'] = 'Settings saved';
      $data['result']['status'] = 'success';
    }catch(PDOException $e){
        $data['result']['message'] = 'Could not save the settings';
        $data['result']['status'] = 'error';
    }

En gooi NIET zelf iets weg.

Dan is een erg leuke manier om PDO-query's te debuggen het gebruik van het catch-script dat is gekoppeld door Basic die je hier kunt vinden nogmaals.

Door deze dingen samen te combineren, heb je een flexibele, schone en gemakkelijk te debuggen manier om alle mogelijke fouten op te vangen.



  1. MySql met de juiste syntaxis voor de over-clausule

  2. PostgreSQL, bestaande tabel opnieuw configureren, primaire sleutel wijzigen in type=serial

  3. Verschil tussen sys.views, sys.system_views en sys.all_views in SQL Server

  4. Database back-up SQL-query