IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Requete avec LIMIT refusée [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut Requete avec LIMIT refusée
    Bonjour ,

    Je travaille avec dreamweaver et wampserver.

    J'ai réalisé cette requete pour laquelle le test de dream me renvoie les 3 lignes que je souhaite ; mais lorsque j'essaie sur firefox , j'ai un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 0, 5' at line 1
    Voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select shop_panier.*,shop_monnaies.photoa,shop_monnaies.commentaires,shop_monnaies.commentaires2,shop_monnaies.commentaires3,shop_monnaies.prix_ttc,shop_monnaies.vendue,shop_monnaies.comfr,shop_monnaies.comeu,shop_monnaies.commentaires,shop_monnaies.commentaires2
    FROM shop_panier INNER JOIN shop_monnaies ON shop_panier.article=shop_monnaies.id
    WHERE shop_panier.client = paramclient
    ORDER BY shop_panier.id DESC LIMIT 3
    Une solution ?

    habroc

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu es sur de nous montrer la bonne requête ? parce que limit 3 et limit 0,5 ca n'est pas tout à fait pareil.

  3. #3
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Tout à fait .
    Je rajoute pour info que paramclient=$_SESSION[MM_Usename]
    et que mon Phpmyadmin est ainsi :
    MySQL
    Serveur: localhost (MySQL host info: localhost via TCP/IP)
    Version du serveur: 5.1.36-community-log
    Version du protocole: 10
    Utilisateur: root@localhost
    Jeu de caractères pour MySQL: UTF-8 Unicode (utf8)
    Serveur web
    Apache/2.2.11 (Win32) PHP/5.3.0
    Version du client MySQL: mysqlnd 5.0.5-dev - 081106 - $Revision: 1.3.2.27 $
    Extension PHP: mysqli

    Sans LIMIT 3 , j'ai bien 7 enregistrements à l'affichage ...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Verrais-tu quelque chose qui explique l'apparition de "limit 0,5" dans l'erreur ?

  5. #5
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Je viens d'essayer avec LIMIT 6 , et j'ai le meme message d'erreur ???

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Verrais-tu quelque chose qui explique l'apparition de "limit 0,5" dans l'erreur ?

  7. #7
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Non , je vois pas . J'ai pensé à faire LIMIT 0,3 ; mais comme c'est la meme chose , j'ai le meme résultat ...

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    tout ça va dans le sens de mon premier diagnostique : tu te trompes de requete.

  9. #9
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Je ne comprends ce que tu veux dire ...Je viens de controler et c'est bien la requete que je fais sur ma page pour obtenir les enregistrements des produits qui sont dans un panier. Maintenant , je souhaite que le nombre de produits dans le panier ne puisse dépasser un certain nombre ( par exemple: 100 ) ; et je teste donc une modif de ma requete pour bloquer le visu à 3 enregistrements , par exemple. D'où l'utilisation de LIMIT 3 à la fin de ma requete . Ce que je ne comprends pas , c'est qu'il n'y a pas d'erreur lors du test avec dream alors qu'avec Firefox ou IE , j'ai le meme message d'erreur.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce que je veux dire c'est que LIMIT 3 ne peux pas se transformer en LIMIT 0,5 dans le message d'erreur.
    Ce LIMIT 0,5 fait donc partie d'une autre requete et c'est elle qui pose problème.

  11. #11
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Est-ce que cette ligne peut poser problème ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_limit_suivis = sprintf("%s LIMIT %d, %d", $query_suivis, $startRow_suivis, $maxRows_suivis);
    Elle fait partie de :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    $maxRows_suivis = 5;
    $pageNum_suivis = 0;
    if (isset($_GET['pageNum_suivis'])) {
      $pageNum_suivis = $_GET['pageNum_suivis'];
    }
    $startRow_suivis = $pageNum_suivis * $maxRows_suivis;
     
    $paramclient_suivis = "franck@orange.fr";
    if (isset($_SESSION['MM_Username'])) {
      $paramclient_suivis = $_SESSION['MM_Username'];
    }
    mysql_select_db($database_facevspile, $facevspile);
    $query_suivis = sprintf("SELECT shop_panier.*,shop_monnaies.photoa,shop_monnaies.commentaires,shop_monnaies.commentaires2,shop_monnaies.commentaires3,shop_monnaies.prix_ttc,shop_monnaies.vendue,shop_monnaies.comfr,shop_monnaies.comeu,shop_monnaies.commentaires,shop_monnaies.commentaires2 FROM shop_panier INNER JOIN shop_monnaies ON shop_panier.article=shop_monnaies.id WHERE shop_panier.client = %s ORDER BY shop_panier.id DESC", GetSQLValueString($paramclient_suivis, "text"));
    $query_limit_suivis = sprintf("%s LIMIT %d, %d", $query_suivis, $startRow_suivis, $maxRows_suivis);
    $suivis = mysql_query($query_limit_suivis, $facevspile) or die(mysql_error());
    $row_suivis = mysql_fetch_assoc($suivis);
     
    if (isset($_GET['totalRows_suivis'])) {
      $totalRows_suivis = $_GET['totalRows_suivis'];
    } else {
      $all_suivis = mysql_query($query_suivis);
      $totalRows_suivis = mysql_num_rows($all_suivis);
    }
    $totalPages_suivis = ceil($totalRows_suivis/$maxRows_suivis)-1;
     
    $queryString_suivis = "";
    if (!empty($_SERVER['QUERY_STRING'])) {
      $params = explode("&", $_SERVER['QUERY_STRING']);
      $newParams = array();
      foreach ($params as $param) {
        if (stristr($param, "pageNum_suivis") == false && 
            stristr($param, "totalRows_suivis") == false) {
          array_push($newParams, $param);
        }
      }
      if (count($newParams) != 0) {
        $queryString_suivis = "&" . htmlentities(implode("&", $newParams));
      }
    }
    $queryString_suivis = sprintf("&totalRows_suivis=%d%s", $totalRows_suivis, $queryString_suivis);

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et ton LIMIT 3 il est ou ?

  13. #13
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    il est sur cette ligne ; mais je l'avais enlevé pour ne "bloquer" mon site , dans l'attente d'une solution ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query_suivis = sprintf("SELECT shop_panier.*,shop_monnaies.photoa,shop_monnaies.commentaires,shop_monnaies.commentaires2,shop_monnaies.commentaires3,shop_monnaies.prix_ttc,shop_monnaies.vendue,shop_monnaies.comfr,shop_monnaies.comeu,shop_monnaies.commentaires,shop_monnaies.commentaires2 FROM shop_panier INNER JOIN shop_monnaies ON shop_panier.article=shop_monnaies.id WHERE shop_panier.client = %s ORDER BY shop_panier.id DESC LIMIT 3", GetSQLValueString($paramclient_suivis, "text"));
    $query_limit_suivis = sprintf("%s LIMIT %d, %d", $query_suivis, $startRow_suivis, $maxRows_suivis);

  14. #14
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Dans ton cas, ce ne serait pas uniquement LIMIT 5 et non LIMIT 0, 5 (commencer à 0 pour 5 enregistrements).

    Regardes dans le manuel Mysql pour avoir la réponse

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu mets le LIMIT dans la première ligne, il faut retirer la deuxième ligne.

  16. #16
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    J'ai fait ceci pour voir :Résultat : l'erreur est désormais affiché avec LIMIT 0,10

    Le problème , c'est que la ligne correspond à un tableau répété qui doit afficher 5 enregistrements par page.

    Je ne peux donc pas utiliser LIMIT dans ma requete ...

    Y aurait-il une autre solution que LIMIT pour afficher n enregistrements de ma requete ?

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Et si tu ne mets que 3 lignes au lieu de 5, que se passe t-il ?

  18. #18
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    l'erreur est désormais affiché avec LIMIT 0,3

    En ce qui me concerne , je souhaite que la requete me permette d'afficher les 100 1ers enregistrements...

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pourquoi tu mets 3, 5 ou 10 si tu en veux 100 ?

    Pour l'erreur, il faut que tu fasses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $query_limit_suivis;
    à la fin de ton code et que tu nous dises ce que ca a marqué.

  20. #20
    Membre régulier
    Homme Profil pro
    directeur hypermarché
    Inscrit en
    Avril 2009
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : directeur hypermarché

    Informations forums :
    Inscription : Avril 2009
    Messages : 227
    Points : 111
    Points
    111
    Par défaut
    Je veux afficher 5 enregistrements par page ...et que le défilement des pages s'arrete à un maximum de 100 enregistrements ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. requete avec limit
    Par sony351 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/04/2010, 21h48
  2. Requete avec limite pour chaque valeur du IN
    Par grunge0 dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/09/2009, 14h00
  3. [DB2]requete avec 'LIMIT' ?!
    Par beastman007 dans le forum DB2
    Réponses: 13
    Dernier message: 29/01/2007, 10h50
  4. problème avec une requete utilisant LIMIT
    Par kow_Ced dans le forum Requêtes
    Réponses: 2
    Dernier message: 11/08/2006, 16h01
  5. Limiter les affichages d'une requete avec POstgre
    Par jenny50 dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 12/01/2006, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo