Problème dans une requête !

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème dans une requête !

par angebleu17 » 16 oct. 2007, 17:17

oui pour l'année c'est une erreur de frappe c'est bien 2007-10-16.

tu as raison c'était l'espace avant le début du mot !! :x :?

pourtant en affichant les enregistrements sur MySQL on ne voit rien mais lorsqu'on clique sur modifier là on voit bien qu'il y a un espace !! Dans ma requete d'insertion il y avait un espace entre ' et ".

Merci pour vos réponses.

par Tracker » 16 oct. 2007, 17:00

J'ai enlevé les quotes autour de la valeur de id_membre mais ça ne change rien.

J'ai bien vérifié dans ma table j'ai bien un champ qui correspond à ma requête.

Dés que j'enléve la clause avec expediteur ça marche. J'ai essayé une autre requete avec le champ expéditeur dans une clause where et çe ne marche pas. Cela provient peut être du type du champ expéditeur, pourtant c'est un varchar donc normalement c'est bon !

Aprés affichage de la requête :

Code : Tout sélectionner

SELECT * FROM matable WHERE expediteur ='angebleu17' AND id_membre = 4 AND date='2007-10-16'
J'ai déjà vérifié plusieurs fois et il y a bien un enregistrement ou expediteur = angebleu17 et id_membre = 4 et date = 200-10-16.

Tu es certain de ne pas avoir de problème d'espaces enregistrés dans ta bases avant ou après le nom de l'expéditeur, et qui ferait échouer ta condition ?

[edit] Tu as tapé 200-10-16. C'est une erreur de frappe ?

Tracker

par angebleu17 » 16 oct. 2007, 16:51

J'ai enlevé les quotes autour de la valeur de id_membre mais ça ne change rien.

J'ai bien vérifié dans ma table j'ai bien un champ qui correspond à ma requête.

Dés que j'enléve la clause avec expediteur ça marche. J'ai essayé une autre requete avec le champ expéditeur dans une clause where et çe ne marche pas. Cela provient peut être du type du champ expéditeur, pourtant c'est un varchar donc normalement c'est bon !

Aprés affichage de la requête :

Code : Tout sélectionner

SELECT * FROM matable WHERE expediteur ='angebleu17' AND id_membre = 4 AND date='2007-10-16'
J'ai déjà vérifié plusieurs fois et il y a bien un enregistrement ou expediteur = angebleu17 et id_membre = 4 et date = 200-10-16.

par d0m » 16 oct. 2007, 16:37

En passant , pas de quotes autour de la velur de id_membre car c'est une valeur numérique, pas une chaine.

Maintenant es tu sûr de bien avoir au moins une ligne dans ta table qui a à la fois :
expediteur ='angebleu17'
ET id_membre = 4
ET date='2007-10-16'

parce que d'après ton résultat ce n'est pas le cas.

par angebleu17 » 16 oct. 2007, 16:31

oui en l'affichant c'est correct, ça affiche :

Code : Tout sélectionner

SELECT * FROM matable WHERE expediteur ='angebleu17' AND id_membre = '4' AND date='2007-10-16'
Je ne vois pas du tout d'ou provient l'erreur..c'est en rapport avec le champ expediteur car en l'enlevant ça marche.

par d0m » 16 oct. 2007, 16:27

as tu essaié d'afficher ta requête avant de l'executer
$sql8 = "SELECT * 
         FROM matable
        WHERE expediteur ='".$_SESSION['pseudo']."'
        AND id_membre = '".$_POST['id_membre']."' 
        AND date='$date_auj'";
echo $sql8.'<BR>';
et de vérifier dans ta table à la main si il y a des éléments qui la vérifie?

Problème dans une requête !

par angebleu17 » 16 oct. 2007, 16:18

Bonjour,

J'ai un petit probléme sur une requête.. je pense que c'est un truc tout bete mais je n'arrive pas a trouver la solution.

Voici la requête que je veux effectuer :

Code : Tout sélectionner

$sql8 = "SELECT * FROM matable WHERE expediteur ='".$_SESSION['pseudo']."' AND id_membre = '".$_POST['id_membre']."' AND date='$date_auj'"; $req8 = mysql_query($sql8) or die('Erreur SQL : <br />'.$sql8); $nb = mysql_num_rows($req8);
Le probléme est au niveau de

Code : Tout sélectionner

WHERE expediteur ='".$_SESSION['pseudo']."'
car lorsque j'enléve cette partie là, la requête fonctionne, ça me retoune le bon nombre dans $nb.

En mettant la partie qui bug : ( WHERE expediteur ='".$_SESSION['pseudo']."' ) ça ne met pas d'erreur mais $nb est égal à 0 alors qu'il y a bien des enregistrements correspondant.

J'ai essayé de remplacer

Code : Tout sélectionner

WHERE expediteur = '".$_SESSION['pseudo']."'
par un pseudo comme :

Code : Tout sélectionner

WHERE expediteur ='test'
qui est dans ma table et ça ne marche pas non plus.

Je ne vois pas pourquoi le champ expéditeur pose probléme ! Je vous met la structure de ma table :

Code : Tout sélectionner

`id_membre` bigint(20) NOT NULL default '0', `id_message` bigint(100) NOT NULL auto_increment, `sujet` varchar(120) NOT NULL default '', `message` text NOT NULL, `expediteur` varchar(20) NOT NULL default '', `date` date NOT NULL default '0000-00-00',
Ce problème me pose une colle depuis un moment déjà et je n'arrive pas a trouver la solution :?

J'espére que vous pourrez m'aider. :wink: