Insérer des caractères spéciaux base de données
david77179
Messages postés
172
Statut
Membre
-
david77179 Messages postés 172 Statut Membre -
david77179 Messages postés 172 Statut Membre -
Bonjour,
Pouvez vous m'indiquer comment insérer un % dans une base de données. En effet lors de l'insert une erreur s'affiche...
Merci
David
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net
Pouvez vous m'indiquer comment insérer un % dans une base de données. En effet lors de l'insert une erreur s'affiche...
Merci
David
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net
3 réponses
-
Quelle erreur et avec quel code ?
-
Voici le message d'erreur affiché :

et voici le code :
<?php // ------ AJOUT D'UN UTILISATEUR -------- if(isset($_POST['nom'])){ // on vÈrifie la prÈsence des variables de formulaire (si le formulaire a ÈtÈ envoyÈ) if(($_POST['nom'] == "")){ // si mail ou mot de passe non spÈcifiÈs >> message d'erreur header("Location:newutilisateur.php?erreur=empty"); } // on passe toutes les variables $POST en variables $nom = strtoupper ($_POST['nom']); $prenom = ucwords (strtolower($_POST['prenom'])); $numsecu = $_POST['numsecu']; $mutuelle = $_POST['mutuelle']; $date_client = $_POST['date_client']; $date_envoi_pec = $_POST['date_envoi_pec']; $date_recep_pec = $_POST['date_recep_pec']; $accord_pec = $_POST['accord_pec']; $montant_pec = $_POST['montant_pec']; $date_rappel_1 = $_POST['date_rappel_1']; $coms_rappel_1 = addslashes ($_POST['coms_rappel_1']); $ok_rappel_1 = $_POST['ok_rappel_1']; $date_rappel_2 = $_POST['date_rappel_2']; $coms_rappel_2 = addslashes ($_POST['coms_rappel_2']); $ok_rappel_2 = $_POST['ok_rappel_2']; $date_rappel_3 = $_POST['date_rappel_3']; $coms_rappel_3 = addslashes ($_POST['coms_rappel_3']); $ok_rappel_3 = $_POST['ok_rappel_3']; $cloture = $_POST['cloture']; $date_signature = $_POST['date_signature']; // on fait l'INSERT dans la base de donnÈes $add_user = sprintf("UPDATE clients SET nom='$nom', prenom='$prenom', numsecu='$numsecu', mutuelle='$mutuelle', date_client='$date_client', date_envoi_pec='$date_envoi_pec', date_recep_pec='$date_recep_pec', accord_pec='$accord_pec', montant_pec='$montant_pec', date_rappel_1='$date_rappel_1', coms_rappel_1='$coms_rappel_1',ok_rappel_1='$ok_rappel_1',date_rappel_2='$date_rappel_2', coms_rappel_2='$coms_rappel_2',ok_rappel_2='$ok_rappel_2', date_rappel_3='$date_rappel_3', coms_rappel_3='$coms_rappel_3' ,ok_rappel_3='$ok_rappel_3',cloture='$cloture', date_signature='$date_signature' WHERE name='$nom' AND prename='$prenom'"); mysqli_query ($connection, $add_user) or die ('Erreur SQL !<br>'.$add_user.'<br />'.mysqli_connect_error()); header("Location:../index.php?modifs=ok"); // redirection si crÈation rÈussie } ?>
En sachant que ces erreurs ne s'affichent jamais lorsque je ne mets pas de ' % '
Merci pour votre aide :)
Une fois le problème résolu, pensez à cliquer sur le lien "Marquer comme résolu " =D
Vive les communautés d'entre aides et surtout CommentçaMarche.net -
-
L'interclassement de ta base de donnée doit poser un problème, Tu devrais la passer en utf8_general_ci tu pourras avoir les accents en plus : )
En modifiant le .htacces
php_flag default_charset utf-8
ou au debut de tes pages php
<head><meta charset="utf-8" /></head>
et ensuite juste apres ta connexion à la bdd une requête du genre
mysql_connect ('localhost', 'root', '');
mysql_set_charset ('UTF8');
si php < version 5
query("SET NAMES 'utf8'");
L'exemple de saisie que tu nous indiques
le client a laissé un acompte de 10%
comporte un accent qui n'est pas supporté par l'interclassement de ta base ( latin1 swedish ci )
Je te laisse un petit peu de lecture
http://openclassrooms.com/courses/passer-du-latin1-a-l-unicode
en espérant que cela puisse t'aider, ce n'est qu'une piste, les experts vont me corriger si necessaire : )
cdt -
-
