Problème : Requête de recherche du nombre d'enregistrements

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 : Requête de recherche du nombre d'enregistrements

Re: Problème : Requête de recherche du nombre d'enregistrements

par devlop78 » 05 mars 2011, 21:59

L'utilisation de count(*) te permettra aussi d'éviter de retourner des valeurs inutiles si le but est uniquement de connaître le nombre de résultats

Re: Problème : Requête de recherche du nombre d'enregistrements

par Ryle » 04 mars 2011, 21:05

A mon avis, c'est le point qui traine dans la chaine qui fait que tu ne retrouves pas ton login dans la table...

Ceci étant, comme l'indique Mazarini, la commande "LIKE" est faite pour rechercher une chaine partielle et s'utilise avec des % en guise de joker. Pour une correspondance exacte telle que celle dont tu as besoin, c'est l'opérateur "=" qu'il convient d'utiliser
 $select = "SELECT heure,date,livraison,message,etat,login FROM commande WHERE login = '" .$login. "'";
A noter également que sortir les variables des chaines permet de rendre ton code plus lisible. De même les ` de Mysql ne sont utiles que si tu as mal nommé tes tables ou tes champs. Si tes tables sont bien construites (c'est dire si tu n'utilises pas de mots clés réservés) tu peux t'en passer, ce qui rend également ton code plus facile à lire et à maintenir :)

Re: Problème : Requête de recherche du nombre d'enregistrements

par Mazarini » 04 mars 2011, 09:05

Bonjour,

`login` LIKE '.$login' => `login` = '.$login'

Ensuite vérifie le contenu de $login en affichant la requête et en regardant le contenu de ta table avec phpmyadmin ou un autre client mysql.

Re: Problème : Requête de recherche du nombre d'enregistrements

par stealth35 » 03 mars 2011, 21:18

t'as pas a faire un htmlentites a cette endroit mais un mysql_real_escape_string

Problème : Requête de recherche du nombre d'enregistrements

par lawrencium » 03 mars 2011, 20:13

Bonsoir,

Je suis en train de monter un site web avec une zone membre, dans celle ci j'ai besoin de rechercher dans ma base de donnée les différentes entrées effectuées par l'utilisateur dans une table et de les afficher dans un tableau (donc de longueur inconnue).

J'utilise ce code pour rechercher le nombre d'entrées de l'utilisateur et donc le nombre de lignes de mon tableau :

Code : Tout sélectionner

$select = "SELECT heure,date,livraison,message,etat,login FROM `commande` WHERE `login` LIKE '.$login'"; $result = mysql_query($select,$base) or die ('Erreur : '.mysql_error() ); $NbreData = mysql_num_rows($result);
$login est le login de la session en cour obtenu par le code suivant :

Code : Tout sélectionner

$login = htmlentities(trim($_SESSION['login']));
Seulement a chaque fois il me renvois la valeur "0" alors que des enregistrements avec ce login existent.

Une erreur de ma part dans le code ? (Sans doute ^^)