Chris: DB-Fehler abfangen

Hi,

ich greife per PHP (Zendcore-Schnittstelle) auf eine Oracle XE-Datenbank zu. Wie kann ich Fehlermeldungen die die DB wirft in PHP abfangen? Also prüfen ob es einen Fehler gab (z.b. bei einem insert) und diesen auch ausgeben lassen? Danke für die Hilfe!

Gruß
Chris

  1. Hallo!

    ich greife per PHP (Zendcore-Schnittstelle) auf eine Oracle XE-Datenbank zu. Wie kann ich Fehlermeldungen die die DB wirft in PHP abfangen? Also prüfen ob es einen Fehler gab (z.b. bei einem insert) und diesen auch ausgeben lassen? Danke für die Hilfe!

    Kapitel 7. Zend_Db
    http://framework.zend.com/manual/de/zend.db.html#zend.db.adapter.transactions

    Anscheint unterstützt das Zendframework Exeptions.

    PHP bietet vordefinierte Exeptions an. Man kann aber seine eigenen erstellen.

    Ich habe die Exeptions zum Anfang gehasst, Unfug eben. Mittlerweile liebe ich sie.

    André Laugks

    --
    Die Frau geht, die Hilti bleibt!
    1. Danke schon mal für die Hilfe. Habs jetzt mal probiert, aber bekomme den Fehler aus der Datenbank nicht.

      try{
        $sql = "begin p_status.i_status(:var);end;";
        $result = oci_parse( $con, $sql);

      $VAR = $_POST['status'];
        oci_bind_by_name ($result, ":var", $VAR, 3 );

      oci_execute ($result);
        }catch(Exception $e){
               echo $e->getMessage();
               }

      Was mache ich falsch? Bekomme ich so auch die Fehlermeldungen die ich in einer Prodzedur/Funktion selbst mit raise_application_error definieren kann? Thx

      1. echo $begrüßung;

        $result = oci_parse( $con, $sql);

        Du verwendest also doch nicht das Zend-Framework sondern die in PHP enthaltenen Oracle Functions. Funktionen, die was mit Fehlerbehandlung am Hut haben, erkennt man am Bestandteil "error" in ihrem Namen.

        echo "$verabschiedung $name";

        1. Danke, dedlfix. Hatte es inzwischen schon gefunden. Hat sich also erledigt :)