Je sèche sur les insertions TEXTE avec des ' (apostrophes)
Posté : 17 nov. 2022, 16:47
Bonjour tt le monde,
Voici mon problème :
- Formulaire de saisie
- Dans ce formulaire j'ai un champ texte qui peut contenir des apostrophes Ex : I'love it
- A la validation ça fonctionne pas
Je comprends bien que les apostrophes se retrouvent dans ma requête SQL et donc ça ne marche pas.
J'ai à peu près compris qu'il fallait utiliser "PDO :: quote" pour que cela fonctionne...
Mais soit je ne sais pas l'utiliser soit j'ai rien compris
Voici la fonction que j'ai écrit (sans le QUOTE) pour avoir votre avis...
Les apostrophes peuvent se retrouver uniquement sur le $titre.

Voici mon problème :
- Formulaire de saisie
- Dans ce formulaire j'ai un champ texte qui peut contenir des apostrophes Ex : I'love it
- A la validation ça fonctionne pas
Je comprends bien que les apostrophes se retrouvent dans ma requête SQL et donc ça ne marche pas.
J'ai à peu près compris qu'il fallait utiliser "PDO :: quote" pour que cela fonctionne...
Mais soit je ne sais pas l'utiliser soit j'ai rien compris
Voici la fonction que j'ai écrit (sans le QUOTE) pour avoir votre avis...
Les apostrophes peuvent se retrouver uniquement sur le $titre.
function enregistrementDB() {
$titre = $_POST['titre'];
$volume = $_POST['volume'];
$vehicle = $_POST['vehicle'];
$Akey = $_POST['Akey'];
$tempo = $_POST['tempo'];
$chorus = $_POST['chorus'];
$disc = $_POST['disc'];
$track = $_POST['track'];
$conn = connectionDB();
if (!exist($titre, $volume, $vehicle, $Akey)) {
//on insère les données si les champs sont remplis
if (!empty($titre) && !empty($volume) && !empty($vehicle) && !empty($Akey) && !empty($tempo) && !empty($track)) {
$sth = $conn->prepare(
"INSERT INTO aebersold(titre,volume,vehicle,Akey,tempo,chorus,disc,track)
VALUES (:titre, :volume, :vehicle, :Akey, :tempo, :chorus, :disc, :track)"
);
$sth->bindParam(':titre', $titre);
$sth->bindParam(':volume', $volume);
$sth->bindParam(':vehicle', $vehicle);
$sth->bindParam(':Akey', $Akey);
$sth->bindParam(':tempo', $tempo);
$sth->bindParam(':chorus', $chorus);
$sth->bindParam(':disc', $disc);
$sth->bindParam(':track', $track);
$sth->execute();
echo ('Les données sont enregistrées, merci.') . '</br>';
}
}
}
Merci d'avance pour votre aide