Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/09/2006, 22h38   #1
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Par défaut [SQL] Erreur de requête incompréhensible

Bonsoir,

Je n'arrive pas a comprendre le message d'erreur sur une requête :

Code :
1
2
3
4
5
6
7
8
9
10
11
$req = "SELECT maj_banque_mvt.d_mvt , `compte_id` , `id_maj` , `id_exercice` , `mvt_mois` , `mvt_mois_clot` , maj_banque_mvt.id_trt,
				   `id_mvt_ligne` ,`mvt_date` , `id_bud_classe` , `id_bud_categorie` , `id_bud_ss_cat` , `mvt_id_tiers` , `mvt_bq_beneficiaire` , 
				   `mvt_bq_commentaire` , `mvt_bq_montant` , `mvt_bq_sens_dc` , `mvt_bq_date_echeance` , `mvt_bq_virement` , `mvt_bq_date_facture` , 
				   `mvt_bq_date_valeur` , `mvt_bq_date_rapproche` , `mvt_bq_rapproch` , maj_banque_mvt_lignes.id_trt 
			FROM maj_banque_mvt
			LEFT OUTER JOIN maj_banque_mvt_lignes
		    ON maj_banque_mvt.id_mvt=maj_banque_mvt_lignes.id_mvt
			WHERE maj_banque_mvt.id_mvt=$id_mvt
			AND maj_banque_mvt.id_trt BETWEEN 1 AND 4
			AND maj_banque_mvt_lignes.id_trt BETWEEN 1 AND 4
			ORDER BY mvt_date DESC";
Voici le message :

Code :
#1064 - Erreur de syntaxe pr�s de 'AND maj_banque_mvt.id_trt BETWEEN 1 AND 4 AND maj_banque_mvt_lig' �
Je ne vois pas d'erreur sur cette ligne ?

Un autre regard ?

Merci d'avance
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 00h32   #2
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Je dirais selon le message que l'erreur (si tu préfères le problème) est là :
Code :
maj_banque_mvt.id_mvt=$id_mvt
Donc je tenterai de mettre entre quote ta variable surtout que je connais pas son type
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 10h34   #3
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

tu as essayé ça :
Code :
1
2
3
4
5
6
7
$req = 'SELECT ... FROM maj_banque_mvt
			LEFT OUTER JOIN maj_banque_mvt_lignes
		    ON maj_banque_mvt.id_mvt=maj_banque_mvt_lignes.id_mvt
			WHERE maj_banque_mvt.id_mvt=" . $id_mvt . "
			AND maj_banque_mvt.id_trt BETWEEN 1 AND 4
			AND maj_banque_mvt_lignes.id_trt BETWEEN 1 AND 4
			ORDER BY mvt_date DESC";
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 10h55   #4
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
je te conseille aussi de parentheser la clause sur le BETWEEN afin que mysql ne se prenne pas les pieds dans les AND
Code :
... AND (champ BETWEEN valeur1 AND valeur2) AND ...
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2006, 13h42   #5
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Merci,

J'ai ajouté ".$id_mvt." et les parenthèse et tout va mieux, beaucoup mieux.

Merci beaucoup encore
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h34.


 
 
 
 
Partenaires

Hébergement Web