FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Vous n'êtes pas identifié(e).

#1 25-04-2012 16:53:17

Aeroz
Membre
Inscription : 31-07-2009
Messages : 8

[Résolu] Ajout d'un champ dans post.php

Bonjour à tous, je m'adresse à vous parce que j'ai un petit problème au niveau d'une requête sql.

J'ai ajouter un champ dans post.php semblable au sujet. il fait exactement la même chose, donc j'ai tout "recopier" concernant le sujet dans post.php et créé mon champ dans ma base de donnée.

Après quelque test, le problème viendrait de la syntaxe, alors qu'encore une fois j'ai recopier "subject".

Petite "preuve" :

$db->query('INSERT INTO '.$db->prefix.'topics (poster, subject, comment, posted, last_post, last_poster, sticky, forum_id) VALUES(\''.$db->escape($username).'\', \''.$db->escape($subject).'\', \''.$db->escape($comment).'\', \''.$now.'\', '.$now.', \''.$db->escape($username).'\', '.$stick_topic.', '.$fid.')') or error('Unable to create topic', __FILE__, __LINE__, $db->error());

si je fais ça, j'obtient l'erreur "Unable to create Topic"

$sql = "INSERT INTO pun_topics (`poster`, `subject`, `comment`, `posted`, `last_post`, `last_poster`, `sticky`, `forum_id`) VALUES('$username', '$subject', '$comment', '$now', '$now', '$username', '$stick_topic', '$fid')";
  //$req = mysql_query($sql) or die (mysql_error());

Si je fais ça, ma requête passe à merveille...

La syntaxe m'a l'air bonne et après quelques heures d'arrachage de cheveux je me tourne vers vous. Merci.

Hors ligne

#2 25-04-2012 17:39:07

Wan
Membre
Inscription : 12-02-2010
Messages : 555
Site Web

Re : [Résolu] Ajout d'un champ dans post.php

Aeroz a écrit :

J'ai ajouter un champ dans post.php semblable au sujet. il fait exactement la même chose, donc j'ai tout "recopier" concernant le sujet dans post.php et créé mon champ dans ma base de donnée.

Bonjour,
Avant de pouvoir essayer d'apporter de l'aide, j'aimerais comprendre plus précisément le but de cette manœuvre.
"J'ai ajoutér un champ dans post.php" : un champ s'ajoute dans une table, pas dans un script.
"Il fait exactement la même chose" : un champ ne fait rien de particulier...
Un explicitation précise sera la bienvenue ! wink

Hors ligne

#3 25-04-2012 17:43:25

Aeroz
Membre
Inscription : 31-07-2009
Messages : 8

Re : [Résolu] Ajout d'un champ dans post.php

Wan a écrit :
Aeroz a écrit :

J'ai ajouter un champ dans post.php semblable au sujet. il fait exactement la même chose, donc j'ai tout "recopier" concernant le sujet dans post.php et créé mon champ dans ma base de donnée.

Bonjour,
Avant de pouvoir essayer d'apporter de l'aide, j'aimerais comprendre plus précisément le but de cette manœuvre.
"J'ai ajoutér un champ dans post.php" : un champ s'ajoute dans une table, pas dans un script.
"Il fait exactement la même chose" : un champ ne fait rien de particulier...
Un explicitation précise sera la bienvenue ! wink

Un champ = Input, un champ de saisie quoi. C'était si dur que ça à comprendre ?

Tu cherches la petite bête ou je me trompe ?

Hors ligne

#4 25-04-2012 17:54:14

PascL
Membre
Inscription : 06-09-2007
Messages : 554
Site Web

Re : [Résolu] Ajout d'un champ dans post.php

Bonjour,

Active le mode debug, tu verras + précisément ce qui cloche dans la première requête.

Pour la seconde, l'appel à query est commenté. Quand tu dis que ça marche, c'est que c'est vraiment en bdd (et donc tu as pareil mais décommenté dans ton vrai code) ou que ça n'affiche pas d'erreur (et là, commenté ou pas, aucune différence).

Hors ligne

#5 25-04-2012 17:56:55

Aeroz
Membre
Inscription : 31-07-2009
Messages : 8

Re : [Résolu] Ajout d'un champ dans post.php

PascL a écrit :

Bonjour,

Active le mode debug, tu verras + précisément ce qui cloche dans la première requête.

Pour la seconde, l'appel à query est commenté. Quand tu dis que ça marche, c'est que c'est vraiment en bdd (et donc tu as pareil mais décommenté dans ton vrai code) ou que ça n'affiche pas d'erreur (et là, commenté ou pas, aucune différence).

Désolé, c'est commenté c'est pour mes test, l'ajout en bdd se fait bien avec ma seconde requête.

Hors ligne

#6 25-04-2012 18:09:16

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Ajout d'un champ dans post.php

Bonjour,

Si tu commences par invectiver les membres qui cherchent à t'aider, il y a grand risque que ta demande s'arrête maintenant.
Nous cherchons à comprendre ce que tu veux faire et si pour toi champ signifie systématiquement input, pour d'autres, ça signifie colonne.

Première chose à faire, c'est d'avoir EXACTEMENT le message d'erreur COMPLET ; pour ce faire, dans le fichier mon_forum\config.php tu ajoutes ou les lignes :

//Activez le mode DEBUG en enlevant // du début de la ligne ci-dessous
define('PUN_DEBUG', 1);
//Ceci permettra d'afficher en bas de page toutes les requêtes exécutées
//en enlevant // du début de la ligne ci-dessous
define('PUN_SHOW_QUERIES', 1);

Ce qui permettra d'obtenir les textes complets des requêtes et des messages d'erreur.
Ne pas oublier de commenter les deux define après le test.


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#7 25-04-2012 18:13:13

Aeroz
Membre
Inscription : 31-07-2009
Messages : 8

Re : [Résolu] Ajout d'un champ dans post.php

Otomatic a écrit :

Bonjour,

Si tu commences par invectiver les membres qui cherchent à t'aider, il y a grand risque que ta demande s'arrête maintenant.
Nous cherchons à comprendre ce que tu veux faire et si pour toi champ signifie systématiquement input, pour d'autres, ça signifie colonne.

Première chose à faire, c'est d'avoir EXACTEMENT le message d'erreur COMPLET ; pour ce faire, dans le fichier mon_forum\config.php tu ajoutes ou les lignes :

//Activez le mode DEBUG en enlevant // du début de la ligne ci-dessous
define('PUN_DEBUG', 1);
//Ceci permettra d'afficher en bas de page toutes les requêtes exécutées
//en enlevant // du début de la ligne ci-dessous
define('PUN_SHOW_QUERIES', 1);

Ce qui permettra d'obtenir les textes complets des requêtes et des messages d'erreur.
Ne pas oublier de commenter les deux define après le test.

File: C:\wamp\www\Test\post.php
Line: 689

FluxBB reported: Unable to create topic

Database reported: 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 'comment, posted, last_post, last_poster, sticky, forum_id) VALUES('Aeroz', 'tes' at line 1 (Errno: 1064)

Failed query: INSERT INTO pun_topics (poster, subject, comment, posted, last_post, last_poster, sticky, forum_id) VALUES('Aeroz', 'test', 'Test', '1335370484', 1335370484, 'Aeroz', 0, 13)

Voilà smile !

En ce qui concerne les membres qui m'aident, j'ai peut être pas été très correct, mais son post ne l'était pas vraiment non plus, me faire corriger de la sorte au niveau de l'orthographe alors que la moitié des autre demandes sont en sms. Surtout quand on corrige quelque chose, on le fait jusqu'au bout on s'arrête pas à la moitié. Bref. Désolé.

Dernière modification par Aeroz (25-04-2012 18:22:06)

Hors ligne

#8 25-04-2012 19:01:53

Wan
Membre
Inscription : 12-02-2010
Messages : 555
Site Web

Re : [Résolu] Ajout d'un champ dans post.php

Aeroz a écrit :

En ce qui concerne les membres qui m'aident, j'ai peut être pas été très correct, mais son post ne l'était pas vraiment non plus, me faire corriger de la sorte au niveau de l'orthographe alors que la moitié des autre demandes sont en sms. Surtout quand on corrige quelque chose, on le fait jusqu'au bout on s'arrête pas à la moitié. Bref. Désolé.

Je suis désolé si ma réponse t'a heurté, ce n'était vraiment pas le but. Je ne comprenais pas grand chose à ta demande, c'est tout (champ utilisé pour parler d'input dans la première partie du message et pour parler de colonne dans la deuxième...). Bref, désolé encore une fois.
Quant à l'orthographe, c'est une manie chez moi, j'ai du mal à me retenir, dont acte.

Hors ligne

#9 25-04-2012 19:38:38

Aeroz
Membre
Inscription : 31-07-2009
Messages : 8

Re : [Résolu] Ajout d'un champ dans post.php

J'ai réglé mon soucis en ajoutant des "`" autour de mes "champs" dans ma requête SQL...

Je comprend pas ce que ça change, mais bon...

$db->query('INSERT INTO '.$db->prefix.'topics (`poster`, `subject`, `comment`, `posted`, `last_post`, `last_poster`, `sticky`, `forum_id`) VALUES(\''.$db->escape($username).'\', \''.$db->escape($subject).'\', \''.$db->escape($comment).'\', '.$now.', '.$now.', \''.$db->escape($username).'\', '.$stick_topic.', '.$fid.')') or error('Unable to create topic', __FILE__, __LINE__, $db->error());

Disons que, ça marche..

Merci je passe en résolu.

Dernière modification par Aeroz (25-04-2012 19:50:45)

Hors ligne

#10 25-04-2012 19:44:27

Otomatic
Régisseur
Lieu : Paris, France
Inscription : 12-12-2005
Messages : 3 660
Site Web

Re : [Résolu] Ajout d'un champ dans post.php

Bonjour,

Y'a un truc qui me turlupine, maintenant ta colonne se nomme 'release' et non plus 'comment' ; de plus, tu y insères $db->escape($subject) et plus $db->escape($comment).
Parce qu'à un moment, j'ai pensé que 'comment' faisait partie des mots réservés de MySQL et que l'on ne pouvait pas nommer une colonne ainsi ; après lecture de la documentation, il semblerait que non


Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche

Hors ligne

#11 25-04-2012 19:48:31

Aeroz
Membre
Inscription : 31-07-2009
Messages : 8

Re : [Résolu] Ajout d'un champ dans post.php

Otomatic a écrit :

Bonjour,

Y'a un truc qui me turlupine, maintenant ta colonne se nomme 'release' et non plus 'comment' ; de plus, tu y insères $db->escape($subject) et plus $db->escape($comment).
Parce qu'à un moment, j'ai pensé que 'comment' faisait partie des mots réservés de MySQL et que l'on ne pouvait pas nommer une colonne ainsi ; après lecture de la documentation, il semblerait que non

c'est que j'ai fait plein de test, qui finalement ne donnaient rien, j'ai donc tout remis comme je l'ai montrer dans mon premier message, j'ai ajouter les "`" et ça fonctionne niquel.

Hors ligne

Pied de page des forums