Correzione dei dati prima di essere inseriti nel database
Le query inviate al database utilizzano dei caratteri speciali per identificare i valori e i campi del database stesso,
spesso questi caratteri speciali possono essere presenti involontariamente nel testo da inviare al database creando delle query non valide.
Il problema più ricorrente è l' apostrofo ' , infatti una query tipo
UPDATE `tabella` SET `campo` = 'ciao'
risulta valida inquanto il testo ciao è delimitato dagli apostrofi, ma se inserisco una query di questo tipo
UPDATE `tabella` SET `campo` = 'l'amico'
, è chiaro che l'interprete prenderà 'l' come campo valido e la stringa amico' rimarrà fuori rendendo la query non valida, in questo caso basterebbe inserire la scritta in questo modo
'l\'amico' per far capire all'interprete che l'apostrofo è un carattere e non un carattere speciale come delimitatore di campi.
utilizzando da php la funzione lc() questo problema viene risolto automaticamente
pagina principale
<?php
$query = "UPDATE `tabella` SET `campo` = '".lc($_GET['valore'])."' WHERE `id` = 1 LIMIT 1";
.....
?>