-
Problema apici sql
Salve a tutti, avrei un piccolo problema con l'estrazione dei dati dal database. In particolare i dati contenenti apostrofi. In poche parole, estraendo dal database un elemento della colonna "Naviga" ad esempio "D'Altronde", mi manda in confusione gli apici usati dentro l'echo e non esegue la query. Come potrei risolvere questa cosa? Grazie mille in anticipo!
Codice PHP:
while ($i < $num) {
$naviga = mysql_result($risultati, $i, "Naviga");
if ($naviga == '?') {
}
else {
echo "<option value='$naviga'>$naviga</option>";
}
$i++;
}
-
Salve,
Il supporto ufficiale a PHP 5.x è cessato l'1 gennaio 2019 e di conseguenza anche le funzioni mysql.
Le suggerisco come prima cosa di aggiornare il codice a MySQLi o PDO.
Così dovrebbe andare:
Codice PHP:
echo "<option value='".$naviga."'>".$naviga."</option>";
Cordiali saluti.
-
Purtroppo questo codice non mi risolve la query. In poche parole usando questo codice mi esce:
Codice PHP:
<option value="D" altronde'>D'Altronde</option>
Quindi uscendo questo, mi cerca nel database solo "D" e non "D'Altronde"
-
Il problema dell'apostrofo, può risolverlo memorizzando nel database il codice equivalente '.
Codice HTML:
<option value="D" altronde>D'Altronde</option>
Cordiali saluti.
-
htmlentities()
Codice PHP:
echo "<option value='".htmlentities($naviga, ENT_QUOTES)."'>".htmlentities($naviga, ENT_QUOTES)."</option>";
In ogni caso non è una bella cosa che ci siano singoli apici senza escape, come immetti quei dati? Controlla di non essere a rischio di sql injection.
Ciao!