Erreur de syntax dans une requete sql

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 : Erreur de syntax dans une requete sql

par Truc » 30 juil. 2007, 23:13

Mais je suis inscris seulement je n'étais pas connecté quand j'ai créé le topic.
Ha comment ça se fait alors que je n'ai pas reçu ton chèque ? :twisted:

:wink:

par alex29260 » 30 juil. 2007, 22:58


Cependant tu dois tout de même être inscrit pour le faire alors incris toi :wink:
Mais je suis inscris seulement je n'étais pas connecté quand j'ai créé le topic.

par Truc » 30 juil. 2007, 22:05

EDIT : n'étant pas logué quand j'ai créé le post je ne peux pas le renomer pour mettre en resolu. Si un admin pouvait le faire ... merci
Un bouton est prévu pour ça tu ne dois pas l'éditer. Cependant tu dois tout de même être inscrit pour le faire alors incris toi :wink:

par alex29260 » 30 juil. 2007, 21:01

J'ai resolu mon probleme en remplacant mod par module dans la requete.

Merci quand meme pour votre aide et la rapidité de vos reponses.

EDIT : n'étant pas logué quand j'ai créé le post je ne peux pas le renomer pour mettre en resolu. Si un admin pouvait le faire ... merci

par alex29260 » 30 juil. 2007, 19:06

information supplementaire :

les variables transites à travers les liens de cette facon :
http://127.0.0.1:8080/alex29260/index.p ... news&nid=9

Cela ne pose pas de probleme?

par alex29260 » 30 juil. 2007, 18:48

Merci Sékiltoyai, je n'avais pas mis les points.

par Sékiltoyai » 30 juil. 2007, 18:41

Bah la fonction die(), tu lui passes une chaine de caractères, donc, au lieu de lui donner le résultat de mysql_error(), tu lui donnes la concaténation de ta requète et de mysql_error(), par exemple :
die('Erreur : ' . mysql_error() . "\n" . 'Requète : ' . $ta_requete);

par alex29260 » 30 juil. 2007, 18:37

le 'nid' est de type int(11) et le 'mod' est de type text.

Comment on fait pour mettre la requette et l'erreur en meme temps dans le die() ?

Merci encore

par Ryle » 30 juil. 2007, 18:33

Conserve le mysql_error() dans le or die() (ce qui ne t'empêche pas d'afficher également la requête sql :)), cela te permet de connaitre la nature du problème, car à priori, là c'est plus un problème de syntaxe :)

Tu as bien les colonnes nommées "nid" de type numérique (int, tinyint, float..) et "mod" de type chaine (char, varchar, text..) dans ta table comment ?

par alex29260 » 30 juil. 2007, 18:27

merci de la rapidité de ta reponse
	$sql = "SELECT * FROM comment WHERE nid = ".$nid." AND mod = '".$mod."' ";
	$sql2 = mysql_query($sql) or die($sql) ;
	while(list($id,$mod,$nid,$pseudo,$mail,$message,$timestamp) = mysql_fetch_array($sql2))
J'ai ajouter des guillemets simples mais le problème persiste.
La requete qui s'affiche est celle la :

SELECT * FROM comment WHERE nid = 9 AND mod = 'news'

par Ryle » 30 juil. 2007, 18:00

Je suppose que puisque "news" n'apparait pas dans ta requête, cela doit être contenu par l'une de tes variable, et comme toute chaine de caractère en SQL, elle devrait être délimitée par... par... aller, à toi de trouver ;)

Prend l'habitude de mettre tes requêtes dans des variables et de les afficher lorsqu'elles ne fonctionne pas, l'erreur te sautera beaucoup plus facilement aux yeux :)

par alex29260 » 30 juil. 2007, 17:59

je ne m'étais pas logué

Erreur de syntax dans une requete sql

par Invité » 30 juil. 2007, 17:57

Bonjours a tous,

voila mon bon de code :
function view_com($mod,$nid)
{
	include('modules/news/index.php');
	lire($nid);
	
	$sql = mysql_query("SELECT * FROM comment WHERE nid = " . $nid . " AND mod = ".$mod."   ") or die(mysql_error()) ;
	while(list($id,$mod,$nid,$pseudo,$mail,$message,$timestamp) = mysql_fetch_array($sql))
		{
			$pseudo = stripslashes($pseudo);
			$message = stripslashes($message);
			$date = date('d/m/Y à H\hi', $timestamp);
			
			echo "<table style=\"width:610px\">\n"
						."<tr><hr>\n"
							."<td><b>".$pseudo."</b> <span style=\"font-size:9px\"> Posté le ".$date."</span></td>\n"
						."</tr>\n"
						
						."<tr>\n"
							."<td><span style=\"font-size:14px\"> " .$message. "</span></td>\n"
						."</tr>	\n"
					."</table>\n"
					."<hr>\n";
				
		}
}
Et cela m'indique une erreur :
Erreur de syntaxe près de '= news' à la ligne 1

Merci de votre aide car la je suis bloqué