Erreur de syntax dans requête mysql

Résolu
Tzmagnum Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   -  
Tzmagnum Messages postés 126 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai une erreur de syntax que je n'arrive pas à résoudre.

Cela m'affiche l'erreur suivante :


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 membre_tc="Dupont Louis"' at line 1



Je ne trouve pas l'erreur et cela est embétant car sa me bloque pour continuer.

Est-ce que vous pouvez voir si vous la voyez vous svp ?

Merci d'avance.

Voici la requête en question :

$requet="SELECT * FROM membres WHERE membre_fonction = 'Consultant' ORDER BY membre_nom, membre_prenom ASC"; 
if (isset($tc1)&&($tc1 != "")) 
	{ 
		$requet .= " WHERE membre_tc=\"$tc1\""; 
	}

$sql = mysql_query($requet) or die(mysql_error()); 

$total = mysql_num_rows($sql);
A voir également:

4 réponses

Utilisateur anonyme
 
Si tu fais ça, tu auras deux clauses "WHERE"...
Essaies plutôt :


$requet="SELECT * FROM membres WHERE membre_fonction = 'Consultant' ORDER BY membre_nom, membre_prenom ASC";
if (isset($tc1)&&($tc1 != ""))
{
$requet .= " AND membre_tc=\"$tc1\"";
}

$sql = mysql_query($requet) or die(mysql_error());

$total = mysql_num_rows($sql);
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Bonjour,

1 - Tu utilises l'ancienne extension MYSQL. Je t'invite fortement à passer à MYSQLI ou la PDO.
Voir ceci :

2 - Fais donc un ECHO de ta requête

echo "La requete est :" .$requet;
$sql = mysql_query($requet) or die(mysql_error()); 


Tu devrais rapidement voir l'erreur..... ( comme le fait de vouloir mettre deux WHERE dans une même requête par exemple .....)

PS : Quand tu as un souci de requête... toujours en faire un ECHO ... puis la tester DIRECTEMENT dans la BDD. cela t'affiche les erreurs concernées.


PS: Qu'en est-il de ta question précédente : https://forums.commentcamarche.net/forum/affich-33285070-php-formulaire-calcul-de-conge
0
Tzmagnum Messages postés 126 Date d'inscription   Statut Membre Dernière intervention  
 
Maintenant que j'ai fais cette modification sa m'affiche l'erreur suivante :


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 'AND membre_tc="Dupont Louis"' at line 1


Et pour mon autre question c'est pas encore résolu.

Merci.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 753
 
Essayes ça :

$strAnd = !empty($tc1) ?  " AND membre_tc='$tc1' " : ''; 
$requet="SELECT * FROM membres 
                  WHERE membre_fonction = 'Consultant' 
                     $strAnd
                   ORDER BY membre_nom, membre_prenom ASC"; 

$sql = mysql_query($requet) or die(mysql_error()); 
$total = mysql_num_rows($sql);



nb: !empty équivaut à ( ISSET + non vide )
-1
Tzmagnum Messages postés 126 Date d'inscription   Statut Membre Dernière intervention  
 
Merci c'est résolu.

Un grand merci à vous tous.
0