Ti sfugge il motivo per cui si rende necessario: https://en.wikipedia.org/wiki/SQL_injectiondovendo updatare una tabella con delle parole apostrofate e accentate e mi vedo costretto a usare mysqli_real_escape_string().
Per farlo correttamente: http://php.net/manual/it/mysqli.quic...statements.php
magic quotes sono state rimosse da php 5.4, ed erano disabilitate di default da molto prima. E, per farti capire quanto è vecchia quella versione, php 5.4 non è neanche più tra le versioni attivamente supportate: http://php.net/supported-versions.phpCodice PHP:
if(get_magic_quotes_gpc())
Se vuoi continuare ad usare mysqli_real_escape_string, per lo meno usa http://php.net/manual/it/mysqli.set-charset.php per settare il set di caratteri. mysqli deve conoscere che set di caratteri stai utilizzando per fare correttamente l'escape della stringa, e se glielo fornisci in quel modo non può farlo. Per gli stessi motivi, dovresti settare il charset prima di usare mysqli_real_escape_stringCodice PHP:
$mysqli->query("SET CHARACTER SET 'utf8'");
Mi pare corretto.Ma evidentemente lo uso in maniera sbagliata
Come stampi il risultato nella pagina?sulla tabella la frase risulta salvata troncata prima dell'apostrofo.