Manchmal ist es notwendig, bestimmte Zelleninhalte zu ändern, bzw. anzupassen. Dies immer per phpMyAdmin zu machen, wäre zu umständlich. Aber zum Glück kann man sich dafür auch ganz einfach ein PHP-Skript schreiben.
<?php $change_data = "UPDATE phonebock Set column_name1 = 'value1' WHERE column_name2 = 'value2'"; $update = mysql_query($change_data); ?>
auf unser Beispiel bezogen:
<?php $change_data= "UPDATE phonebook Set name='Max' WHERE id = '2'"; $update = mysql_query($change_data); ?>
Hierbei kann man für WHERE wieder alle möglichen Vergleiche setzen, so wie ihr es schon bei Weitere Abfragen kennen gelernt habt. Es funktioneren auch die anderen Attribute wie LIMIT und ORDER BY. Allerdings macht ORDER BY nur Sinn, wenn man auch LIMIT benutzt hat.
Wenn es denn mal nötig sein sollte, kann man auch direkt eine ganze Spalte auf einen Wert setzen, dazu lässt man einfach den WHERE-Teil weg.
Es ist auch möglich, mehrere Spalten auf einmal zu ändern, dazu teil man die Spaltenname=’Wert’-Paare durch ein Komma.
<?php $change_data = "UPDATE phonebook Set name = 'Max', number = 0049111222333, WHERE id = '2'"; $update = mysql_query($change_data);
Allerdings benutze ich dann mehrere Abfragen, denn so kann man besser kontrollieren, ob etwas nicht funktioniert hat (z.B. durch einen Rechtschreibfehler). Man weiß dann, wo man suchen muss.
So mache ich es meistens:
<?php $change_data = "UPDATE phonebook Set name = 'Max' WHERE id = '2'"; $update = mysql_query($change_data); $change_data = "UPDATE phonebook Set name= 'Max' WHERE id = '2'"; $update = mysql_query($change_data); ?>
Doch man kann die UPDATE-Funktion auch “missbrauchen”. Wenn man eine einzelne Zelle löschen
möchte, kann man dessen Zelleninhalt einfach durch ” überschreiben.
<?php $change_data = "UPDATE phonebook Set name='' WHERE id='2'"; $update = mysql_query($change_data );