Erreur de syntaxe près de 'where

Résolu
GYK Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   -  
 Antar -
Bonjour,

Je me lance dans le php et j'ai l'erreur :
Échec de la requête : Erreur de syntaxe près de 'where Classe = $classe' à la ligne 1

Cette erreur se déclenche à la ligne suivante:

$recclas = mysql_query('select * from composition ORDER BY Classe where Classe = $classe');

Je vous joins le début du code:

<?php

$classe = "90-91 CM1";

$conn = mysql_connect('localhost', 'root', '');
if (!$conn) { die('Impossible de se connecter : ' . mysql_error());
}
mysql_select_db('ecole');

$recnbr = mysql_query('select * from eleves_par_classe ORDER BY Classe' );
if (!$recnbr) { die('Échec de la requête : ' . mysql_error());
}

$Nbr = $recnbr['Nbr'];

$ctr = 1;

$recclas = mysql_query('select * from composition ORDER BY Classe where Classe = $classe');

if (!$recclas) { die('Échec de la requête : ' . mysql_error());
}

etc

Quelqu'un peut'il m'aider.

Merci
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. Ssylvainsab Messages postés 2892 Statut Modérateur 825
     
    Ah, je vois ton problème :
    1 - Tu mets le order by avant le where
    2 - Tu utilise des guillemets pour fermer au lieu d'apostrophes.

    C'est peut-être aussi parce que tu as les magic_quotes d'activées.
    Essaye :
    if(get_magic_quotes_gpc())
      $classe=stripslashes($classe);
    $recclas=mysql_query('select * from composition where Classe=\''.$classe.'\' ORDER BY Classe '); 
    0
  2. Antar
     
    Bonjour j'ai une page videos sur mon site mais voilà quand j'essaye d'y acceder j'ai ce message d'erreur :

    Error: 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 'WHERE id='46'' at line 1

    46 c'est l'id d'une de mes videos.

    Je pense que la requête c'est celle-ci :

    $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
    $product_check = tep_db_fetch_array($product_check_query);

    Si quelqun a une idée merci d'avance...
    0
  3. Ssylvainsab Messages postés 2892 Statut Modérateur 825
     
    Salut.

    C'est juste que PHP n'interprète pas les variables entre guillemets, donc il faut faire :
    '... =\''.$classe.'\''
    -1
  4. GYK Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   3
     
    Merci Ssylvainsab

    OK, je vais essayer!
    A+
    -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. GYK Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   3
     
    Probleme!
    Voila la ligne telle que je l'ai corrigée:
    $recclas = mysql_query('select * from composition ORDER BY Classe where Classe = \".$classe.'\");
    et l'erreur que j'ai
    Warning: Unexpected character in input: '\' (ASCII=92) state=1
    J'ai un editeur syntaxique de couleur et le dernier slashe est de couleur différente?
    A+
    -1
  7. GYK Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   3
     
    Trop fort
    Merci

    Maintenant c'est plus loin que ca coince, mais je vais voir.

    Encore merci
    -1
  8. Ssylvainsab Messages postés 2892 Statut Modérateur 825
     
    De rien :-)

    Fais un autre post si tu as un autre problème.

    a plus
    -1
  9. GYK Messages postés 142 Date d'inscription   Statut Membre Dernière intervention   3
     
    Y a des chances que ça arrive, mais faut que je cherche, y a que comme ça j'apprendrais.

    Merci

    A+
    -1