Rechercher : dans
Par :

Erreur de syntaxe près de 'where

Dernière réponse le 15 jan 2008 à 12:27:49 GYK, le 23 fév 2007 à 14:39:50 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « Erreur de syntaxe près de 'where » dans :
Parse error: syntax error, unexpected $end VoirLorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Le contrôle des erreurs VoirLe contrôle d'erreurs Le codage binaire est très pratique pour une utilisation dans des appareils électroniques tels qu'un ordinateur, dans lesquels l'information peut être codée grâce à la présence ou non d'un signal électrique. Cependant le...

1

Ssylvainsab, le 23 fév 2007 à 14:42:04

Salut.

C'est juste que PHP n'interprète pas les variables entre guillemets, donc il faut faire :
'... =\''.$classe.'\'' Sylvain
"Join us now, and share the software. You'll be Free, hackers."

Répondre à Ssylvainsab

2

GYK, le 23 fév 2007 à 14:48:34

Merci Ssylvainsab

OK, je vais essayer!
A+

Répondre à GYK

3

GYK, le 23 fév 2007 à 15:00:43

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+

Répondre à GYK

4

Ssylvainsab, le 23 fév 2007 à 15:13:21

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 '); 
Sylvain
"Join us now, and share the software. You'll be Free, hackers."

Répondre à Ssylvainsab

5

GYK, le 23 fév 2007 à 15:22:17

Trop fort
Merci

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

Encore merci

Répondre à GYK

6

Ssylvainsab, le 23 fév 2007 à 15:25:33

De rien :-)

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

a plus Sylvain
"Join us now, and share the software. You'll be Free, hackers."

Répondre à Ssylvainsab

7

GYK, le 23 fév 2007 à 15:31:02

Y a des chances que ça arrive, mais faut que je cherche, y a que comme ça j'apprendrais.

Merci

A+

Répondre à GYK

8

 Antar, le 15 jan 2008 à 12:27:49

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...

Répondre à Antar