PHP - PDO Fehlerbehandlung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Abend,

    ich habe eine Funktion, in einer Klasse, zum auslesen von MYSQL-Datensätzen mittels PDO.

    Den ausführenden Teil habe ich in einen Try-Catch-Block gepackt um eventuelle Fehler zu behandeln.

    Wenn ich z.B. einen Datensatz, aus einer Tabelle welche nicht existiert, auslesen möchte, dann bekomme ich dementsprechend auch eine Fehlermeldung.

    Nun möchte ich z.B. einen Datensatz aktualisieren, dann funktioniert dies zwar, aber ich bekomme trotzdem eine Fehlermeldung!

    Und zwar diese hier:

    Code
    Error-Code:HY000
    Error-Message:SQLSTATE[HY000]: General error

    Ich habe mal die entsprechenden Funktionen der Klasse hier in den Spoiler gepackt:

    Spoiler anzeigen

    Aufbau einer Verbindung und setzten der Attribute

    Funktion zum abfragen von Datensätzen bzw. aktualisieren


    Eventuell kann mir hier ja jemand helfen und sagen warum er mir den "General error" wirft.

    Gruß Lutz.

  • Query sollte egal sein. Da es ja funktioniert. Also er das Update, Insert usw auch ausführt, aber halt immer den "General Error" wirft.

    Hier aber trotzdem mal ein paar Querys zum verdeutlichen:

    Ein Update mit vorhandenen Datensätzen ergibt folgendes:

    Query:

    Spoiler anzeigen
    Code
    $sql = "UPDATE location SET city = ?, region = ?, country = ?  WHERE id = ?";
    $params = array("cit" => "Koeln", "region" => "NRW", "country" => "Germany", "id" => 10437);
    
    // Aufruf der Funktion
    $db = new db();
    $city = $db->query($sql, $params);

    Datensätze werden aktualisiert.

    Fehlermeldung sagt folgendes:

    Code
    Error-Code:HY000
    Error-Message:SQLSTATE[HY000]: General error

    Ein Update mit Fehlerhaften Datensätzen ergibt folgendes:

    Query:

    Spoiler anzeigen
    Code
    $sql = "UPDATE location55 SET city = ?, region = ?, country = ?  WHERE id = ?";
    $params = array("cit" => "Koeln", "region" => "NRW", "country" => "Germany", "id" => 10437);
    
    // Aufruf der Funktion
    $db = new db();
    $city = $db->query($sql, $params);

    Datensätze werden nicht aktualisiert (Klar die Tabelle gibt es ja auch nicht).

    Fehlermeldung sagt folgendes:

    Code
    Error-Code:42S02
    Error-Message:SQLSTATE[42S02]: Base table or view not found: 1146 Table 'cms_project1.location55' doesn't exist

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!