Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gute Anleitung zum Aktualisieren Ihrer Mysql-Datenbank mit einem PHP-Formular?

Das Aktualisieren von Daten kann ziemlich einfach sein. Beginnen wir zunächst mit einem Formular:

<form method="post" action="submit.php">
  <input type="text" name="id" value="12" />
  <input type="text" name="value" value="Jonathan" />
  <input type="submit" />
</form>

Dieses Formular sendet die Daten an unsere submit.php Skript, wo wir damit umgehen können, und übergeben es an unsere Datenbank. Da unsere Formularmethode "post" ist, werden alle unsere Werte durch den POST gesendet Super-Array in PHP (dies ist nicht der Fall, wenn Sie Datei-Uploader verwenden). Also innerhalb unserer submit.php Seite können wir die ID- und Wertwerte wie folgt drucken:

print $_POST["id"]; // the name of the HTML element is the key
print $_POST["value"]; // again, note that we use the name as the key

Sie sollten vorsichtig sein, wenn Sie vom Benutzer übermittelte Werte direkt an Ihre Abfragen übergeben, daher ist es schön, die Daten mit einer Funktion wie mysql_real_escape_string() zu bereinigen :

$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );

Als nächstes wollen wir diese in eine Abfrage einfügen:

$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";

Dies ist ein guter Zeitpunkt, um nicht zu sagen, dass ich Sie nicht ermutige, diesen Beispielcode in einer Live-Umgebung zu verwenden. Sie sollten SQL-Injektionen nachschlagen und erfahren, wie Sie sie vermeiden können. Der Code, den ich hier zur Verfügung stelle, ist lediglich ein Beispiel. Nachdem unsere Werte eingegeben wurden, sieht die Abfrage, die ausgeführt wird, tatsächlich so aus:

UPDATE mytable SET value = 'Jonathan' WHERE id = 12

Um dies auszuführen, müssen wir nun mit einer Datenbank verbunden sein.

$host = "localhost"; 
$user = "root"; 
$pass = "";
$database = "myDatabase";
$conn = mysql_connect($host, $user, $pass) or die( mysql_error() );
        mysql_select_db($database) or die( mysql_error() );

Alles, was wir hier tun, ist, unsere mysql-Benutzerkonto-Anmeldeinformationen in Arrays zu speichern und sie an eine Verbindungsfunktion zu übergeben. Dieser Code sollte ziemlich selbsterklärend sein, aber lassen Sie es mich wissen, wenn er unklar ist.

Sobald Sie das haben, können Sie Ihre Abfrage ausführen. Denken Sie daran, dass wir es in einem Array namens $sql gespeichert haben :

$result = mysql_query( $sql ) or die( mysql_error() );

Das ist es. Du hast es geschafft! Die Daten werden nun, sofern nichts schief gelaufen ist, in Ihrer Datenbank aktualisiert. Es gibt zahlreiche Möglichkeiten, wie Sie die Informationen, die dem Benutzer über dieses Skript bereitgestellt werden, erweitern können. Erwähnenswert ist auch, dass Sie Ihre Daten bereinigen sollten, bevor Sie das Skript überhaupt ausführen lassen. Wenn es sich nicht um akzeptable Daten handelt (jemand versucht, seine eigenen Abfragen einzufügen), sollten Sie sie zurückspucken.

Sehen Sie sich die MySQL-Funktionen in der PHP-Dokumentation an für mehr Leckereien, und kehren Sie hierher zurück, wenn Sie spezifischere Fragen haben!