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
A voir également:
- Insérer des caractères spéciaux base de données
- Fuite données maif - Guide
- Caractère spéciaux - Guide
- Caractères spéciaux - Guide
- Caractères spéciaux mac - Guide
- Insérer video powerpoint - Guide
3 réponses
Voici le message d'erreur affiché :

et voici le code :
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

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
et ensuite juste apres ta connexion à la bdd une requête du genre
si php < version 5
L'exemple de saisie que tu nous indiques
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
En modifiant le .htacces
php_flag default_charset utf-8ou 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

Le navigateur m'affiche ERREUR SQL et me dis que mes variables ne sont pas déclarées... Alors que lorsqu'il n'y a pas de pourcentage tout passe niquel...
Merci à toi
tu pourrais nous faire profiter du message d'erreur exact : ) et puis le code incriminé, la structure de la table concernée serait un plus aussi ...
cdt