English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
在本教程中,您将学习如何使用PHP更新MySQL表中的记录。
UPDATE此语句用于更改或修改数据库表中的现有记录。此语句通常与WHERE子句结合使用,以便仅将更改应用于与特定条件匹配的那些记录。
Die Grund语法 des UPDATE-Befehls kann wie folgt dargestellt werden:
UPDATE table_name SET column1=value, column2=value2,... WHERE column_name=some_value
Lassen Sie uns eine SQL-Abfrage mit dem UPDATE-Befehl und WHERE-Klausel durchführen, um die Tabellenzeile zu aktualisieren, und führen Sie diese Abfrage durch, indem Sie sie an die PHP mysqli_query() -Funktion übergeben. Überlegen Sie sich die folgende persons-Tabelle in der Demonstrationsdatenbank:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
Das folgende Beispiel mit PHP-Code wird die Zeile in der Tabelle persons aktualisieren, deren id dem Wert1der E-Mail-Adresse dieser Person.
<?php /*Versuche, Verbindung zum MySQL-Server herzustellen. Angenommen, Sie führen MySQL aus. Server mit Standardeinstellungen (Benutzer ohne Passwort "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //Verbindung überprüfen if($link === false) { die("Fehler: Verbindungsfehler. ". mysqli_connect_error()); } //Versuche, die Abfrage auszuführen $_sql = "UPDATE persons SET email='[email protected]' WHERE id="1"; if(mysqli_query($link, $sql)){ echo "Die Daten wurden erfolgreich aktualisiert."; } else { echo "Fehler: Die Ausführung von $sql fehlgeschlagen. ". mysqli_error($link); } //Verbinde schließen mysqli_close($link); ?>
<?php /*Versuche, Verbindung zum MySQL-Server herzustellen. Angenommen, Sie führen MySQL aus. Server mit Standardeinstellungen (Benutzer ohne Passwort "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //Verbindung überprüfen if($mysqli === false) { die("Fehler: Verbindungsfehler. ". $mysqli-connect_error); } //Versuche, die Abfrage auszuführen $_sql = "UPDATE persons SET email='[email protected]' WHERE id="1"; if($mysqli-query($sql) === true) { echo "Die Daten wurden erfolgreich aktualisiert."; } else{}} echo "Fehler: Der Befehl $_sql kann nicht ausgeführt werden. ". $_mysqli->error; } //Verbinde schließen $_mysqli->close(); ?>
<?php /*Versuche, Verbindung zum MySQL-Server herzustellen. Angenommen, Sie führen MySQL aus. Server mit Standardeinstellungen (Benutzer ohne Passwort "root") */ try{ $_pdo = new PDO("mysql:host=localhost;dbname=demo", "root", \ //Setze PDO-Fehlermodus auf Exception $_pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $_e){ die("Fehler: Verbindung kann nicht hergestellt werden. ". $_e->getMessage()); } //Versuche, die Abfrage auszuführen try{ $_sql = "UPDATE persons SET email='[email protected]' WHERE id="1"; $_pdo->exec($_sql); echo "Die Daten wurden erfolgreich aktualisiert."; } catch(PDOException $_e){ die("Fehler: Der Befehl $_sql kann nicht ausgeführt werden. ". $_e->getMessage()); } //Verbinde schließen unset($pdo); ?>
Nach dem Update wird die Tabelle persons wie folgt aussehen:
+----+------------+-----------+--------------------------+ | id | first_name | last_name | email | +----+------------+-----------+--------------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+--------------------------+
Warnung:Die WHERE-Klausel in der UPDATE-Anweisung gibt an, welche Zeilen aktualisiert werden sollen. Wird die WHERE-Klausel weggelassen, werden alle Zeilen aktualisiert.