Come evitare voci duplicate con PHP MySQL

April 12

Come evitare voci duplicate con PHP MySQL


Molte applicazioni PHP consentono agli utenti di inserire i dati che viene poi inserito in un database MySQL. E 'importante per queste applicazioni per verificare se esiste un record già nel database MySQL prima di aggiungerlo. Un modo reattivo per farlo è quello di impostare un indice univoco sul campo chiave nel database MySQL, aggiungere il record e controllare per vedere se si è verificato un errore. Tuttavia, il più grazioso, approccio proattivo è quello di verificare la presenza di un record duplicato prima di aggiungere dati al database.

istruzione

1 Avviare un editor e creare un nuovo file script PHP. Ad esempio, digitare:

nano adddata.php

2 Creare il form HTML per accettare l'input dell'utente. Impostare il metodo di "post" e l'azione di "update.php" per pubblicare i risultati presentati a un "update.php" file può creare prossimo. Ad esempio, digitare:

<! DOCTYPE HTML PUBLIC "- // W3C // DTD XHTML 1.0 Transitional // EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<Html xmlns = "http://www.w3.org/1999/xhtml">

<Head>

<Meta http-equiv = "Content-Type" content = "text / html; charset = utf-8" />

<Title> di inserimento dati / title>

</ Head>

<Body>

<Form method = "post" action = "update.php">

<Input type = "hidden" name = "completato" value = "1" />

<P> cliente: <input type = "text" name = "custnum" size = "10" /> </ p>

<P> Nome cliente: <input type = "text" name = "custname" size = "30" /> </ p>

<P> <input type = "submit" name = "submit" value = "submit" /> </ p>

</ Form>

</ Body>

</ Html>

3 Uscire l'editor e salvare il file. Avviare di nuovo l'editor e creare il file "update.php". Ad esempio, digitare:

nano update.php

4 Controllare il modulo campo nascosto per garantire che il file "update.php" è stato chiamato dalla operazione "post". Ad esempio, digitare:

<? Php

$ Completato = $ _POST [ 'completato'];

if (! $ completato = "1") die ( "<p> La forma non ha completato </ p>!");

5 Estrarre il codice cliente e il nome del cliente dai risultati pubblicati. Controllare per assicurarsi che ogni valore contiene dati. Ad esempio, digitare:

$ Numero = (isset ($ _ POST [ 'CUSTNO']) $ _POST [ 'CUSTNO']:? "";

? $ Name = (isset ($ _ POST [ 'custname'] $ _POST [ 'custname']: "";

if ($ numero == "" || $ name == "") die ( "<p> Modulo è compilato correttamente </ p>!");

6 Si connette al server MySQL e selezionare il database desiderato. Ad esempio, digitare:

$ DBC = mysql_connect ( "localhost", "username", "password") or die ( "<p> Impossibile connettersi al server di errore è!" Mysql_error ().);

$ Db = mysql_select_db ( "clienti");

7 Creare ed eseguire una query sul database che cerca il numero del cliente che si suppone di aggiungere. Assicurati di fuggire correttamente le stringhe di input utente con "mysql_real_escape_string." Controllare il valore di ritorno e di uscita, se il numero dei clienti già esistente. Ad esempio, digitare:

$ Query = 'Seleziona CUSTNO FROM clienti WHERE personalizzato = "' mysql_real_escape_string ($ numero). '".';

$ Risultato = mysql_query ($ query);

if ($ result && mysql_num_rows ($ risultato)> 0) die ( "<p> Clienti esiste già </ p>!");

8 Creare ed eseguire una query per inserire il nuovo cliente nel database. Assicurati di fuggire correttamente le stringhe di input utente con "mysql_real_escape_string." Ad esempio, digitare:

$ Query = 'INSERT INTO clienti (CUSTNO, CustName) VALORI ( "' mysql_real_escape_string ($ numero).. '", "' Mysql_real_escape_string ($ nome).. '")';

$ Risultato = mysql_query ($ query);

if (! $ risultato) die ( "<p> Errore durante l'inserimento record del cliente </ p>!");

echo "<p> Clienti aggiunto con successo </ p>!";

?>