salve. ho notato questa piccola cosa :
se prendo dati da una input box=text per esempio, e la stringa è 'ciao mario' (apici inclusi), senza la funzione mysql_real_escape_string() ovviamente non la inserisce nel database (non fà l'escape sull'apice).
se eseguo questa funzione, la salva nel database. ho notato anche però che se io recupero il dato dal database (quindi mi preleva la stringa 'ciao mario')e la ributto dentro con un update, non facendo mysql_real_escape_string() funziona. com'è possibile? nel database salva i caratteri di escape? non credo, perchè se visualizzo il dato non li vedo.
Codice PHP:
$query = mysql_query("SELECT itemid, atl FROM items",$mydb);
while ($row = mysql_fetch_array($query, MYSQL_NUM)) {
$itemz=$row[0];
$newatl=trim($row[1]);
$update = mysql_query("UPDATE items SET atl = '$newatl' WHERE itemid = '$itemz'",$mydb);
}
questo non dovrebbe funzionare, perchè dovrebbe ritornare a galla il problema dell'escape quando recupera la stringa nel database per poi ributtarla.
N.B. nel mio esempio atl è dove salvo la stringa. quindi dovrebbe essere atl = ' 'ciao mario' ', e dovrebbe fallire senza richiamare la mysql_real_escape_string($newatl) no?
saluti e grazie