Erreur SQL [Fermé]

Signaler
-
 Maxime34 -
Bonjour,

Je viens de mettre en ligne un forum en langage phpbb3. Lorsque je me connecte avec mon profil administrateur, tout va bien. Mais quand je me connecte avec un profil utilisateur, j'ai un message d'erreur:

Erreur générale
SQL ERROR [ mysql4 ]

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 user_id = 7' at line 4 [1064]

Pourtant, quand j'essaie les permissions utilisateur avec mon profil administrateur, tout fonctionne parfaitement.

Est ce que quelqu'un a une idée pour régler ce problème?

Merci par avance.

Lionel

3 réponses

Messages postés
45
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
30 mai 2008
4
Bonjour,

Ce n'est pas un problème de permissions, c'est seulement une erreur de syntaxe sql.

A vu de nez, je dirai que
Soit le champ user_id existe pas mais si ca marche avec admin, c'est pas ca.
Soit y'a pas d'user_id = 7.. plus probable !

Arca`
Papayoyo94
Messages postés
4
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008

Bonjour Arcadess

Merci pour ta réponse. En fait, il existe bien un user_7. Mais ce problème est plutôt bizarre. En fait, je peux me connecter en tant qu'utilisateur, je peux même naviguer dans le forum et ses différentes catégories. Je ne rencontre cette erreur que lorsque je veux ouvrir un message.

De plus, je m'aperçois que le numéro apparaissant après user_id = change de manière aléatoire. Ces numéros d'identification correspondesnt en fait à des robots. Le problème vient il de là? Est ce que les robots mettent des conflits dans la requête SQL?

Le comble, c'est que je peux ouvrir les différents messages avec le compte visiteur !!

J'espère que ces précisions t'orienterons et que tu pourras m'aider, car là je commence à désepérer.

Merci par avance.

Lionel
Messages postés
45
Date d'inscription
mardi 23 octobre 2007
Statut
Membre
Dernière intervention
30 mai 2008
4
Erf , désolé, je ne vois pas.

Pour moi c'est une erreur de codage des forums phpbb. Peut etre que lorsque tu cliques sur un message à partir d'un compte utilisateur, ca exécute la mauvaise requête (en l'occurence ici, "SELECT ... WHERE user_id=..." au leu de "SELECT ... WHERE message_id=...".

Il faudrait voir si d'autres personnes comme toi ont créé un forum phpbb (même version) et ont le même problème. Peut y a t-il une mise à jour.

Au fait tu n'a pas accès au code source??
Papayoyo94
Messages postés
4
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008

Si, j'ai accès au code source. Mais quel page de code éditer pour trouver cette éventuelle erreur? J'ai constaté que les user_id affichées dans les messages d'erreur sont toujours celles de robots. l'user_id "anonymous" et mon user_id d'administrateur étant les deux premières, et ne posant pas de problèmes.

J'avoue que j'en perd mon latin.

Merci.

Lionel
Papayoyo94
Messages postés
4
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008
> Papayoyo94
Messages postés
4
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008

Bonjour,

En fait, après avoir observé plus attentivement les anomalies constatées, il s'avère que le chiffre inscrit après user_id = dans les messages d'erreur soit lié avec le message que je souhaite consulter.

En effet, j'ai fait l'essai ave plusieurs comptes utilisateurs différents, et à chaque fois, pour le même message consulté, le même message d'erreur. J'ai fait l'essai avec plusieurs messages du forum, et à chaque fois j'en arrive aux mêmes constatations.

Merci par avance à tous ceux qui pourront m'aider, car je pense qu'il s'agit là d'une erreur dans une requête, et je n'ai jamais vraiment touché au SQL.

Lionel

RAJOUT:

Après d'autres vérifications, il s'avère que le chiffre que j'ai après user_id est en fait celui correspondant au forum_id.
Papayoyo94
Messages postés
4
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008
> Papayoyo94
Messages postés
4
Date d'inscription
vendredi 25 avril 2008
Statut
Membre
Dernière intervention
25 avril 2008

Bonjour,

J'ai essayé de créer un message avec un compte utilisateur. Lorsque je l'ai posté, un message d'erreur est apparu. Je me suis donc reconnecté en tant qu'administrateur, afin de voir si le message avait été enregistré sur le forum. J'ai vu qu'il y était présent et lorsque j'ai voulu l'ouvrir, le message d'erreur suivant s'est affiché:

Erreur générale
SQL ERROR [ mysql4 ]

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 user_id = 49' at line 4 [1064]

SQL

SELECT notify_status FROM phpbb_topics_watch WHERE topic_id = AND user_id = 49

BACKTRACE


FILE: includes/db/mysql.php
LINE: 158
CALL: dbal_mysql->sql_error()

FILE: includes/functions_display.php
LINE: 1003
CALL: dbal_mysql->sql_query()

FILE: viewtopic.php
LINE: 460
CALL: watch_topic_forum()

Ce message est plus détaillé que le premier, mais je ne sais toujours pas ce qu'il faut faire.

Merci de votre aide.
J'ai exactement le même problème, et je ne sais pas quoi faire ...