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
    www.masterquizz.fr - Ne vous posez plus de questions

  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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 ...
    www.masterquizz.fr - Ne vous posez plus de questions

  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 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 ???
    www.masterquizz.fr - Ne vous posez plus de questions

  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 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 ...
    www.masterquizz.fr - Ne vous posez plus de questions

  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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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.
    www.masterquizz.fr - Ne vous posez plus de questions

  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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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);
    www.masterquizz.fr - Ne vous posez plus de questions

  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 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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);
    www.masterquizz.fr - Ne vous posez plus de questions

  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
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 ?
    www.masterquizz.fr - Ne vous posez plus de questions

  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 ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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...
    www.masterquizz.fr - Ne vous posez plus de questions

  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é.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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 ...
    www.masterquizz.fr - Ne vous posez plus de questions

+ 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