begin process at 2012 05 31 06:47:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Problème Apostrophe dans select


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème Apostrophe dans select

vendredi 10 décembre 2010 à 11:57:15 | Problème Apostrophe dans select

manulitox94

Bonjour,
j'ai cherché des solutions sur google et dans les forums, mais je n'ai rien trouvé qui résoud mon problème.

Je simplifie mon code pour expliquer mon pb.

Je récupère d'un formulaire un champ avec un ' dedans (exemple: l'information) lors de la récupération, j'ajoute un addslashes(), et l'ajout ds la BDD se fait bien.
ensuite, je vais récuperer d'un formulaire toujours un champ, toujours avec un ', et je veux le comparer avec ce qui est présent dans la BDD, pour qu'il me trouve si il y a deja une entrée avec cette chaine.

j'ai donc:

$titre = utf8_decode($_POST["titre"]); //récupère le champ du formulaire

$quer = mysql_query("SELECT * FROM `webcal_entry` WHERE `cal_name` LIKE '".$titre."'")or die('Erreur SQL !<br>'.mysql_error()); //requete

$resultat = mysql_fetch_array($quer); //execute la requete

$nb = mysql_num_rows($quer); // nb d'enregistrements trouvés

et $nb reste toujours à 0 si il y'a un ' dans $titre.

si je passe une chaine sans ', il n'y a pas de problème, $nb==1

si j'affiche $titre, j obtient: l\'information
si j'affiche le champ de la table, j obtient: l\'information
mais il ne les considère pas comme identiques...


quelqu'un voit d'ou peut venir le probleme?
merci d'avance
vendredi 10 décembre 2010 à 13:54:24 | Re : Problème Apostrophe dans select

syndrael

Réponse acceptée !
Pour ma part, je te conseille d'utiliser real_escape_string dans ton insertion en base. ..et d'en profiter pour utiliser MySQLi.
S.
vendredi 10 décembre 2010 à 14:14:38 | Re : Problème Apostrophe dans select

morpheus57

Salut,

Tu peux regarder de ce côté aussi :
http://php.net/manual/fr/security.magicquotes.php





vendredi 10 décembre 2010 à 16:27:53 | Re : Problème Apostrophe dans select

manulitox94

Réponse acceptée !
bonjour et merci pour vos réponses,
@morpheus57 en allant sur le lien, ils marquent: "Il n'y a aucune raison d'utiliser les guillemets magiques, car ils ne sont plus supportés en PHP." je ne vais donc pas chercher dans cette direction, mais merci quand meme.

@syndrael j'ai essayé d'utiliser mysql_real_escape_string(), et ca fonctionne comme ca, il retrouve bien mon champ avec l'apostrophe quand je fais ma requete sur ma table.

voila le code:
pour l'insert:

//je récupere les champs du form
$qui = utf8_decode($_POST['qui']);
$titre = utf8_decode($_POST[titre ]); // = L'information
$description = utf8_decode($_POST['description']);

//la requete
$query = sprintf("INSERT INTO webcal_entry (`cal_user`, `cal_name`, `cal_description`) VALUES ('%s', '%s', '%s')",
$qui,
mysql_real_escape_string($titre, $link),
mysql_real_escape_string($description, $link));

//j execute la requete.
mysql_query($query, $link)or die(mysql_error()); là, l'insert dans la table est fait sans \, donc dans la table j'ai "L'information"

et quand je fais un SELECT pour comparer avec ce qu'il y a dans la table, il me le trouve bien (mais je dois ajouter un \ lorsque je fais le SELECT, sinon erreur)

$quer1 = mysql_query("SELECT * FROM `webcal_entry` WHERE `cal_name` LIKE '".addslashes($cal_name)."'")or die(mysql_error());
$nb = mysql_num_rows($quer1);
echo "nb: ".$nb."<br>"; // affiche 1

il me reste maintenant a voir si les champs qui ont été saisie avant que j'utilise mysql_real_escape_string() (donc avec des \ dans la BDD) sont bien reconnus ou si je dois tout rééditer...

syndrael, une question, mysqli: quel est l'intéret de l'utiliser par rapport a mysql?

merci beaucoup pour votre aide
A+
vendredi 10 décembre 2010 à 16:35:12 | Re : Problème Apostrophe dans select

morpheus57

Justement, je voulais dire : "Assure toi de bien avoir désactivé les magicquotes dans ta config PHP"






Cette discussion est classée dans : problème, mysql, champ, titre, nb


Répondre à ce message

Sujets en rapport avec ce message

passage d'une valeur de checkbox ds requête mysql [ par arnold002 ] Bonjour,J'ai créé un formulaire avec champ texte et checkbox. Le voici :<input type=checkbox name=var[] value="ingre Problème avec mon script. [ par dcbastien ] J'ai ceci:session_start();/* si la variable de session login n'existe pas cela siginifie que le visiteur n'a pas de session ouverte, il n'est donc pas Mysql, php et javascript [ par dcbastien ] J'ai mis au point un petit script mais qui ne fonctionne pas comme je le souhaiterai:[red]session_start();if(!isset($_SESSION['nom'])) {echo'Veuillez Tri sur 2 champs mysql [ par arnold002 ] Bonjour,J'ai une base de données mysql qui contient 2 champs note & nb_votantJe calcule une moyenne :$moyenne = note/nb_votant;Je voudrai faire un tri Aidez moi problème php [ par Tazleboss76 ] Bonjour à tous voila j'ai un champ gains dans la table membre de ma base de donnée quelqu'un peut m'expliquer comment faire pour que lorsque quelqu'un Mon script ne fonctionne pas parfaitement [ par raphaelcohen23 ] J'ai crée un script php pour traiter les donner d'un formulaire en les stockant dans mysql et en les envoyant par mail. Le seul problème est que les d pb alignement champ varchar mysql [ par bastien30 ] Bonjour,je gère une table mysql via un formulairepour l'insertion pas de pb, mon occurence est bien enregistréeavec pour chaque champ de type varchar, Pb syntax php mysql+systèmes fichiers [ par XFLR6 ] hellodsl pour ce titre un peu bizarre, mais je savais pas quoi mettre d'autre pour qualifier mon problème ...alors voila ;je V vous montrer un bout du Problème Base de Donnée MySQL [ par snakykyle ] Bonjour tout le monde, Voila, je veux créer un espace membre, le problème s'est que j'ai pas bien saisi comment une fois que le membre s'est identifié problème de boucle [ par titigrou ] kikou!! j'ai un problème!! j'ai un code de ce type: Code: for ($j=0;$j{ switch ($j) { case 0 : $req= mysql_query ("select libelle from


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales