www.PHP-Kurs.com

PHP lernen für Einsteiger
und Fortgeschrittene

PHP-Tutorial mit Videos

Sie befinden sich: Startseite » MySQL Tutorial - Datenbank unter PHP » Datenbankanwendung Schritt für Schritt programmieren » Update über PHP einer SQL-Query

SQL-Query Update über PHP

Um nun in PHP ein SQL-Update-Query anzuwenden erstellt man die SQL-Anweisung und übergibt diese dem schon kennen gelernten query-Befehl

$db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
             WHERE id='2' LIMIT 1");

Wird dies ausgeführt bekommen wir keinerlei Rückmeldung. Schauen wir über phpMyAdmin in die entsprechende Tabelle, sehen wir, dass es erfolgreich war.

Wir können jetzt natürlich versuchen (und ich schreibe hier bewusst VERSUCHEN) die Anzahl der betroffenen Datensätze zu ermitteln. Von der Logik her sehen die entsprechenden Anweisungen dann so aus:

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
                       WHERE id='2' LIMIT 1");
echo $update->num_rows;

Allerdings bekommen wir keine Rückmeldung (auch nicht die Anzahl der betroffenen Datensätze), obwohl es Erfolgreich war.

Schauen wir uns also an, was über print_r im Rückgabewert steckt:

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
                       WHERE id='2' LIMIT 1");
print_r($update);

Als Ergebnis erhalten wir auf dem Bildschirm die Ausgabe

1

Wir erhalten hier also als Rückmeldung „1“. Ändern wir in der Anweisung z.B. den Wert der „id“ auf einen nicht existierenden Datensatz:

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
                       WHERE id='222' LIMIT 1");
print_r($update);

Jetzt erhalten wir als Rückgabe: NICHTS

Und das ist korrekt so. Lassen wir uns über var_dump($update) den Rückgabewert ausgeben, erhalten wir zusätzlich den Variablentyp. Und so kommt Licht in die Sache:

Als Rückgabewert erhalten wir bei einer erfolgreich ausgeführten SQL-Anweisung:

bool(true)

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
                       WHERE id='2' LIMIT 1");
var_dump($update);

Bei einer nicht erfolgreich ausgeführten SQL-Anweisung kommt NICHTs

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
                       WHERE id='222' LIMIT 1");
var_dump($update);

Wir bekommen also über die query keine Daten – aber wir bekommen die wünschten Daten von dem Objekt über andere Möglichkeiten. Bei Objekten funktioniert es über die Anweisung affected_rows.

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00' 
                       WHERE id='2' LIMIT 1");
echo $db->affected_rows;

Jetzt erhalten wir als Ergebnis wieder 1. Damit ist diesmal die Anzahl gemeint. Wenn wir unsere Update-SQL-Anweisung ändern, wird das schön sichtbar. Wir Updaten jetzt alle vorhandenen Datensätze (einfach die WHERE-Anweisung und das LIMIT entfernen.

$update = $db->query("UPDATE kontakte SET erstellt='2020-12-25 21:00:00'");
echo $db->affected_rows;

Jetzt bekommen wir als Ergebnis 2 – alle unsere vorhandenen Datensätze wurden geändert.

Exkursion: aktuelles Datum

Möchte man das aktuelle Datum eintragen, gibt es eine SQL-Anweisung dafür: NOW()

Unsere komplette Anweisung sieht dann wie folgt aus:

$update = $db->query("UPDATE kontakte SET erstellt=NOW() ");
echo $db->affected_rows;

Somit sollten nur alle Datensätze das aktuelle Datum haben. Wenn wir es in phpMyAdmin kontrollieren, sieht man die Auswirkungen von NOW()

Wenn Sie einen Fehler finden, bitte mitteilen (egal ob Schreibfehler oder inhaltlicher Fehler).

Mit Maus fehlerhafte Stelle markieren und übernehmen mit folgendem Button:



(kann angegeben werden)

Nach Absenden kommt hier Feedback! Bitte nicht doppelt absenden. Danke.

Bitte unterstützen Sie dieses Projekt

Sie können dieses Projekt in verschiedenen Formen unterstützen - wir würden uns freuen und es würde uns für weitere Inhalte motivieren :).

unsere Videos bestellen

Unsere Videos und eBooks bestellen.

Spenden

Sie können uns eine Spende über PayPal zukommen lassen.

Weiterempfehlungen

Empfehlen Sie es weiter - wir freuen uns immer über Links und Facebook-Empfehlungen.

Bücher über Amazon

Bestellen Sie Bücher über folgende Links bei Amazon:

Fehler melden

Vielen Dank für Ihre Hilfe