Ciao a tutti,
sto usando PHP 8 e PDO per effettuare connessioni al database mysql:
In questo modo faccio l'insert:codice:$options = [ PDO::ATTR_EMULATE_PREPARES => false, // turn off emulation mode for "real" prepared statements PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //turn on errors in the form of exceptions PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //make the default fetch be an associative array ]; try { //NOME HOST DATABASE $host="localhost"; //USER E PSW DATABASE $sqluser="root"; $sqlpsw="root"; //DATABASE $database="nome_db"; $pdo = new PDO ("mysql:host=$host;dbname=$database", $sqluser, $sqlpsw, $options); $pdo->exec("set names utf8"); } catch (PDOException $e) { echo "Errore: " . $e->getMessage(); error_log($e->getMessage()); die(); }
La query funziona bene tranne che per una cosa.codice:$cognome = "Sant'Anna"; $nome = "Bartolo"; $tel = "333222111"; $query="INSERT INTO clienti (`cognome`, `nome`, `tel`) VALUES ( :cognome, :nome, :tel )"; $result = $pdo->prepare($query); $result->bindParam(":cognome", $cognome); $result->bindParam(":nome", $nome); $result->bindParam(":tel", $tel); $result->execute();
Il cognome, avendo l'apostrofo viene memorizzato nel database con un doppio apostrofo, così come segue:
Sto cercando in giro, ma non ho ancora capito qual è il metodo per far memorizzare un solo apostrofo.codice:cognome nome tel Sant''Anna Bartolo 333222111
Suggerimenti?
grazie.

Rispondi quotando