Antworten auf deine Fragen:
Neues Thema erstellen

PDO / MySQL > Update ohne Fehlermeldung

G

_gizmo

Guest

Hallo zusammen,

warscheinlich sehe ich den Wald vor lauter Bäumen nicht... :)

Ich versuche gerade eine kleine Lagerverwaltung zu basteln und habe ein "Problem" / merkwürdiges Verhalten beim UPDATEn des Datensatzes.

Hier mein aktueller Code:

Code:
...
$statement = $pdo->prepare("UPDATE lager SET OUT_DATE = NOW(), STATUS = 'OUT', OUT_USER = :OUT_USER WHERE SN = :SN AND STATUS = 'IN'");
$result = $statement->execute(array('SN' => $DEV_SN, 'OUT_USER' => htmlentities($user['email'])));
    if($result) {     
        echo "<div class='row'>";
          echo "<div class='alert alert-success h2'>";
               echo 'Die Seriennummer '. $DEV_SN. ' wurde ausgebucht!';
          echo "</div>";
        echo "</div>";
            $showFormular = true;
        } else {
            $arr = $statement->errorInfo();
            print_r($arr);
            $error_msg = "Beim Abspeichern ist leider ein Fehler aufgetreten!!!"; 
        }
...

Warum bekomme ich keine Fehlermeldung wenn ich in keinen Treffer in meiner WHERE - Klausel habe?

Vielen Dank im Voraus für eure Unterstützung!

Grüße
Peter
 
Zuletzt bearbeitet von einem Moderator:

dkarvounaris

Lead Web Developer

PSD Beta Team
Weil es keinen Fehler in der Anweisung darstellt, wenn es nichts zum Updaten gab.
Also gibt es auch keinen Fehlercode.

Es wurden lediglich 0 Datensätze upgedatet, die SQL Anweisung konnte jedoch ausgeführt werden. Daher werden 0 Datensätze nicht als Fehler behandelt, sondern als erfolgreich ausgeführte Anweisung. Einen Fehler hast du nur, wenn die Anweisung selbst nicht ausgeführt werden konnte, unabhängig davon ob und wieviele Datensätze sie upgedatet hat.

Daher musst du http://php.net/manual/de/pdostatement.rowcount.php nutzen, wenn du wissen willst, ob oder wie viele Datensätze upgedatet wurden.

Bedenke auch, daß du 0 daher nicht unbedingt als Fehler behandeln solltest, weil es durchaus in den meisten Anwendungen eine gültige und korrekte Ausführung darstellt, z.B. wenn du einen Datensatz speicherst, der aber durch die Benutzereingabe nicht modifiziert wurde.
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.634
Beiträge
1.538.448
Mitglieder
67.556
Neuestes Mitglied
Ggirl
Oben