L'aggiornamento dei dati può essere piuttosto semplice. Iniziamo con un modulo, tanto per cominciare:
<form method="post" action="submit.php">
<input type="text" name="id" value="12" />
<input type="text" name="value" value="Jonathan" />
<input type="submit" />
</form>
Questo modulo invierà i dati al nostro submit.php
script in cui possiamo gestirlo e passarlo nel nostro database. Poiché il nostro metodo di form è "post", tutti i nostri valori verranno inviati tramite il POST
super array in PHP (questo non è il caso se si utilizzano caricatori di file). Quindi all'interno del nostro submit.php
pagina, possiamo stampare i valori ID e Value in questo modo:
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
Dovrai fare attenzione a passare i valori inviati dall'utente direttamente nelle tue query, quindi è bello ripulire i dati usando una funzione come mysql_real_escape_string()
:
$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );
La prossima cosa che vorremo fare è inserirli in una query:
$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";
Questo è un buon momento per non dichiarare che non ti incoraggio a utilizzare questo codice di esempio in un ambiente live. Ti consigliamo di cercare le iniezioni sql e come evitarle. Il codice che sto fornendo qui è solo un esempio. Dopo aver inserito i nostri valori, la query che verrà eseguita sarà effettivamente simile a questa:
UPDATE mytable SET value = 'Jonathan' WHERE id = 12
Ora, per eseguirlo, dobbiamo essere connessi a un database.
$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() );
Tutto ciò che stiamo facendo qui è archiviare le nostre credenziali dell'account utente mysql in array e passarle in una funzione di connessione. Questo codice dovrebbe essere abbastanza autoesplicativo, ma fammi sapere se non è affatto chiaro.
Una volta ottenuto questo, sei pronto per eseguire la tua query. Ricorda che l'abbiamo memorizzato in un array chiamato $sql
:
$result = mysql_query( $sql ) or die( mysql_error() );
Questo è tutto. Ce l'hai fatta! I dati, supponendo che nulla sia andato storto, sono ora aggiornati nel database. Esistono numerosi modi per aumentare le informazioni fornite all'utente tramite questo script. Vale anche la pena notare che ti consigliamo di disinfettare i tuoi dati prima ancora di consentire l'esecuzione dello script:se non sono dati accettabili (qualcuno che tenta di iniettare le proprie query), ti consigliamo di sputarmelo indietro.
Dai un'occhiata alle Funzioni MySQL nella documentazione PHP per altre chicche e assicurati di tornare qui quando hai domande più specifiche!