Mysql non valide

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 : Mysql non valide

par Invité » 01 sept. 2006, 10:23

Ok je vous remercie beaucoup de votre aide :wink:

par sadeq » 31 août 2006, 16:23

Dans cette écriture :
if (isset($_POST['discipline']))  
{ 

$reponse = mysql_query('SELECT * FROM Club ORDER BY id ASC LIMIT '  . $discipline . ',') 
or die (mysql_error());
Il y a deux erreurs :
  • 1. Erreur logique niveau PHP: l'origine de la variable $discipline n'est pas déclaré au paravant normalement c'est $_POST['discipline']

    2. A mon avis LIMIT n'est pas bien utilisée logiquement, il te faut un Where pour sélectionner les clubs par discipline il faut écrire alors :
    SELECT ..... FROM ..... WHERE discipline = '$_POST[discipline]' ORDER BY ....

par Ryle » 31 août 2006, 16:12

Le LIMIT a en effet pour seul et uniquement but de "limiter" le nombre de résultat retourner. Si jamais il y a quelques millions de club trouvés par ta requête, ça permet de les afficher par pages de 5, 10, 37, ... plutôt que d'en faire une seule avec le million de résultat :)

Pour mettre des conditions ou des filtres dans ta requête, c'est le WHERE qu'il faut utiliser :)

par Yu_meyio » 31 août 2006, 15:31

ok merci j'ai compris donc la condition LIMIT n'est pas la bonne il me faut une autre condition en faite j'ai un formulaire comme vous avez vu et a partir de ce formulaire on choisit un discipline et ensuite par rapport a cette discipline je voudrais une requete qui puisse dire je veux que tu cherche dans la bdd club tous les club de cette discipline.

par albat » 31 août 2006, 15:27

The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement.
LIMIT takes one or two numeric arguments,
which must both be non-negative integer constants (except when using prepared statements).

With two arguments, the first argument specifies the offset of the first row to return,
and the second specifies the maximum number of rows to return.
The offset of the initial row is 0 (not 1):
//
SELECT * FROM tbl LIMIT 5,10;  //Retrieve rows 6-15

par Yu_meyio » 31 août 2006, 15:21

:( non j'ai pas trouvé je dois etre un idiot surement !!!

par albat » 31 août 2006, 15:11

Si tu lis la page que je t'ai indiquée,
tu trouveras l'explication dont tu as besoin pour utiliser LIMIT.

par Yu_meyio » 31 août 2006, 15:05

C'est trés gentil mais plus j'essaye de comprendre et moin j'y arrive alors pourriez vous me montrer ou j'ai faux!

et me l'espliquez j suis un debutant j'ai essayé de me debrouiller tout seul jusqu'ici mais la j'y arrive plus je comprend pas.

par albat » 31 août 2006, 14:50

je me suis apercus qu'on utilisait LIMIT qu'avec des chiffres je me trompe ??? :?: :?: :?:
Et si tu regardais la doc en ligne ? :roll:
http://dev.mysql.com/doc/refman/5.1/en/select.html ;)

par Yu_meyio » 31 août 2006, 14:08

J'ai tout essayé j'y arrive pas j'ai meme mis avec la condition where à la place de LIMIT parce qu'en relisant les cours je me suis apercus qu'on utilisait LIMIT qu'avec des chiffres je me trompe ??? :?: :?: :?:

par albat » 31 août 2006, 12:34

Wouaaaah, si tu dis tout... :o

par pascaltje » 31 août 2006, 12:15

le problème se trouve dans le LIMIT, vérifie la syntaxe dans la doc de mysql.

A+

Pascal

par albat » 31 août 2006, 12:09

Suggèrerais-tu d'insérer un
echo "La requête générée est : ",$reponse;
:wink:

par zeus » 31 août 2006, 11:58

Est-ce que tu as réellement affiché la requete générée ? Comme te l'a conseillé Ryle ?

Parce que tu as une erreur phénoménale vers la fin de ta requete :shock:

par Yu_meyio » 31 août 2006, 11:47

J'ai deja un peu plus avancé mais maintenant il me dise
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 '' at line 1
:cry: