sql >> Databáze >  >> RDS >> Mysql

Jak používat blok try-catch pro PDO

Žádná z odpovědí zde není špatná. Ale ve skutečnosti jsou všechny tři kombinace skutečnou odpovědí. Rozhodně byste měli nastavit

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

jak řekl Cerad .

Od nynějška je každý jednotlivý problém ohledně čehokoli týkajícího se databáze vyvolán přes výjimku typu PDOException . Jen nemusíte házet vlastní Exception jak řekl ladar protože je to zbytečné. Stačí si vzít ladar kód a převeďte jej na

 ...
 $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';
    }

A NEVYHAZUJTE nic sami.

Velmi pěkným způsobem ladění dotazů PDO je použití skriptu catch spojeného pomocí Basic které najdete zde ještě jednou.

Kombinací těchto věcí dohromady získáte flexibilní, čistý a snadno laditelný způsob, jak zachytit všechny chyby, které by mohly nastat.



  1. Potřebuji auto_increment pole v MySQL, které není primární klíč

  2. Použití parametrů URL při vyhledávání MYSQL

  3. MySQL/PHP – Zlomilo by umístění čísel uvozovkami jakékoli dotazy?

  4. Výpadky s EMCLI