Erreur avec mysql_fetch_array() script forum

Résolu/Fermé
Dadou - 2 mars 2012 à 16:32
 Dadou - 4 mars 2012 à 22:29
Bonjour à tous,

J'ai téléchargé le script forum provenant du site supportduweb.com et j'ai une erreur ligne 9 de new_topic.php qui est la ligne suivante:

$dn1 = mysql_fetch_array(mysql_query('select count(c.id) as nb1, c.name from categories as c where c.id="'.$id.'"'));


J'ai cherché sur leur forum mais je ne trouve rien j'ai donc posté un message mais depuis le 25/01/2012 je n'est toujours aucune réponse ... c'est pourquoi je poste ici.

Merci d'avance pour votre aide.

A voir également:

5 réponses

Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
3 mars 2012 à 13:27
Salut,

Est-ce que tu pourrais préciser l'erreur s'il te plaît ?
0
Salut Autumn'Tears,

J'ai pas voulu d'un forum de type phpbb puisque j'ai que 5Go sur mon serveur. J'ai donc opté pour un petit forum qui sera facilement adaptable sur mon site. J'ai donc mit les table dans ma base de donné en entrant bien les identifiant de ma base de donné j'ai aucune erreur à ce niveau là, sauf quand je souhaite créer un sujet dans une catégorie. Je peut créer la catégorie, entré dans la catégorie ( via l'url " list_topics.php?parent=1 " qui me dit qu'il n'y a pas de sujet c'éer, je fait donc créer un sujet et là, je me trouve sur la page " new_topic.php " ce fichier sert a créer le sujet dans la catégorie "1" dans la lien précédemment dit et là j'ai une erreur ligne 9 de ce fichier ( new_topic.php ). Cette ligne est avec le DOCTYPE donc je vais directement te mettre tout ce qu'il y a dans avant le DOCTYPE:

<?php
//Cette page permet d'ajouter un sujet
include('config.php');
if(isset($_GET['parent']))
{
	$id = intval($_GET['parent']);
if(isset($_SESSION['username']))
{
	$dn1 = mysql_fetch_array(mysql_query('select count(c.id) as nb1, c.name from categories as c where c.id="'.$id.'"'));
if($dn1['nb1']>0)
{
?>


J'ai absolument tout essayé, j'ai regardé le manuel de chez php concernant le " mysql_fetch_array " mais je ne trouve pas ( ou suis-je peut-être trop bête ^^ )

Merci :)
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
3 mars 2012 à 14:20
En fait j'aurais voulu le message d'erreur directement, afin de savoir si ça vient de la requête, ou si $id n'existe pas, ou si la connexion à la base ne se fait pas...
0
j'ai ce message d'erreur:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /public_html/truc_bidul/new_topic.php on line 9


Et la ligne 9 correspond à ceci:

$dn1 = mysql_fetch_array(mysql_query('select count(c.id) as nb1, c.name from categories as c where c.id="'.$id.'"'));
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
3 mars 2012 à 23:33
essaie ça :
var_dump($id);
$dn1 = mysql_query('select count(c.id) as nb1, c.name from categories as c where c.id="'.$id.'"') || die (mysql_error());

à la place du $dn1 actuel
0
ça me met ceci:

int(1) Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
4 mars 2012 à 12:31
Essaie comme ça : (il doit falloir un GROUP BY quand tu utilises des COUNT)
$dn1 = mysql_query('select count(c.id) as nb1, c.name from categories as c where c.id="'.$id.'" GROUP BY c.id') || die (mysql_error());
0
J'ai un message d'erreur encore:

La catégorie dans laquelle vous désirez ajouter un sujet n'existe pas.

C'est le message d'erreur du else

#EDIT#
Souhaite-tu que je te mettre le code complet de la page ou un lien vers le script du forum ?
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
4 mars 2012 à 16:24
Est-ce que var_dump($id);
te retourne quelque chose ? Si non, ta variable $id n'est pas définie, sinon, vérifie en base que $id a une correspondance...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mc4us Messages postés 33 Date d'inscription dimanche 9 octobre 2011 Statut Membre Dernière intervention 4 mars 2012 7
4 mars 2012 à 03:03
Je pense que le problème est au niveau de la requête.
Puisque mysql_fetch_array devrait prendre en argument un objet ressource et que mysql_query ne le retourne pas .
Alors essayez d'exécuter depuis ta Base de donnée la requête en donnant un id=3 ou quelque chose comme ça puis vérifiez si la requête est correcte ou pas .
0
Autumn`Tears Messages postés 1054 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 23 octobre 2013 144
4 mars 2012 à 12:29
En fait ça ne changera rien... Il faut un GROUP BY quand on utilise les opérateurs tels que COUNT, SUM, etc...
0