Erreur avec mysql_fetch_array() script forum

Résolu
Dadou -  
 Dadou -
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   Statut Membre Dernière intervention   145
 
Salut,

Est-ce que tu pourrais préciser l'erreur s'il te plaît ?
0
Dadou
 
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   Statut Membre Dernière intervention   145
 
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
Dadou
 
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   Statut Membre Dernière intervention   145
 
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
Dadou
 
ç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   Statut Membre Dernière intervention   145
 
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
Dadou
 
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   Statut Membre Dernière intervention   145
 
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   Statut Membre Dernière intervention   7
 
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   Statut Membre Dernière intervention   145
 
En fait ça ne changera rien... Il faut un GROUP BY quand on utilise les opérateurs tels que COUNT, SUM, etc...
0