PHP/Programmazione/MySQL/Query

Indice del libro

L'invio di una query MySQL in PHP avviene tramite la funzione mysql_query la cui sintassi è:

mysql_query(query, connessione)

dove query è una stringa contenente il testo della query MySQL da eseguire e connessione è un puntatore di risorsa aperta con la funzione mysql_connect e connessa ad un database. A seconda del tipo di query inviata al database, la funzione mysql_query restituisce valori differenti:

  • se la query è di inserimento restituisce un puntatore al fieldset ottenuto dall'esecuzione della query (ad esempio una query come "SELECT * FROM registrati" dell'esempio precedente)
  • negli altri casi la query restituisce un valore boolean che indica l'esito positivo o meno della query

Nell'invio di una query è necessario, se non viene già fatto dal server MySql, convertire i caratteri come gli apostrofi con la loro commutazione \', in quanto potrebbero dare problemi per quanto riguarda l'invio di stringhe alfanumeriche, tramite la funzione addslashes, la cui sintassi è

addslashes(stringa_da_commutare)

e restituisce la stringa stessa con i caratteri speciali commutati. La sua funzione inversa è

stripslashes(stringa_già_commutata)

È consigliabile inoltre prevedere controlli per evitare intrusioni indesiderate da parte di hacker, evitando ad esempio che eventuali campi di input (per esempio nome utente o password) contengano spazi, i quali permetterebbero l'esecuzione di JOIN o query multiple.