erreur script

Sayajin33
Invité n'ayant pas de compte PHPfrance

26 févr. 2011, 20:40

bonsoir je viens de récupérer un modules pour mon site aion et avant de le modifier j'ai voulu contrôler son bon fonctionnement j'ai donc installer ce module sur mon site d'essai et j'ai 2 erreur.

Code : Tout sélectionner

1 erreur :Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /mnt/141/sdc/b/d/gretacapmecanique/modules/Wow_recrutement/index.php on line 40 2eme erreur : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/141/sdc/b/d/gretacapmecanique/modules/Wow_recrutement/index.php on line 54
voici le code php de ma page index.php:

Code : Tout sélectionner

<?php // -------------------------------------------------------------------------// // Nuked-KlaN - PHP Portal // // http://www.nuked-klan.org // // -------------------------------------------------------------------------// // This program is free software. you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License. // // -------------------------------------------------------------------------// if (!defined("INDEX_CHECK")) { die ("<div style=\"text-align: center;\">You cannot open this page directly</div>"); } global $nuked, $language; translate("modules/Wow_recrutement/lang/" . $language . ".lang.php"); define("WOW_RECRUTERMENT_TABLE", $nuked['prefix'] . "_wow_recrutement"); if (!$user) { $visiteur = 0; } else { $visiteur = $user[1]; } $ModName = basename(dirname(__FILE__)); $level_access = nivo_mod($ModName); if ($visiteur >= $level_access && $level_access > -1) { //compteur("Wow_recrutement"); function index() { global $nuked, $language, $bgcolor1, $bgcolor2, $bgcolor3; opentable(); $sql = mysql_query("SELECT classes FROM " . WOW_RECRUTERMENT_TABLE); $count = mysql_num_rows($sql); echo "<br /><div style=\"text-align: left;\">&nbsp;&nbsp;<img style=\"border: 0;vertical-align:middle;\" src=\"modules/Wow_recrutement/img/WoWlogo.png\" alt=\"\" />&nbsp;&nbsp;" . "<big><b>" . _WOW_RECRUTERMENT . "</b></big><br /><br />\n" . "<img style=\"border: 0;vertical-align:middle;\" src=\"modules/Wow_recrutement/img/information.png\" alt=\"\" />&nbsp;<a href=\"". $nuked['wow_recrut_url'] ."\">". $nuked['wow_recrut_msg'] ."</a><br /><br /></div>" . "<table style=\"background: " . $bgcolor3 . ";\" width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"1\">\n" . "<tr style=\"background: " . $bgcolor3 . ";\">\n" . "<td style=\"width: 5%;\" align=\"center\"></td>\n" . "<td align=\"center\"><b>" . _W_CLASSES . "</b></td>\n" . "<td align=\"center\"><b>" . _W_STATUT . "</b></td>\n" . "<td align=\"center\"><b>" . _W_ROLE . "</b></td></tr>\n"; $j = ''; $sql = mysql_query("SELECT classes, statut, icone, role FROM " . WOW_RECRUTERMENT_TABLE . " ORDER BY classes DESC "); while ($RR = mysql_fetch_array($sql, MYSQL_ASSOC)) { switch ($RR['classes']) { case '_DRUID': $c_n = _DRUID; break; case '_HUNT': $c_n = _HUNT; break; case '_MAGE': $c_n = _MAGE; break; case '_DK': $c_n = _DK; break; case '_PALADIN': $c_n = _PALADIN; break; case '_PRIEST': $c_n = _PRIEST; break; case '_ROGUE': $c_n = _ROGUE; break; case '_SHAMAN': $c_n = _SHAMAN; break; case '_WARLOCK': $c_n = _WARLOCK; break; case '_WARRIOR': $c_n = _WARRIOR; break; default: $c_n = ''; break; } if($RR['statut'] == "on") { $img_recrut = '<img src="modules/Wow_recrutement/img/on.png" alt="" /><br />'. _OPEN .''; } else { $img_recrut = '<img src="modules/Wow_recrutement/img/off.png" alt="" /><br />'. _CLOSE .''; } if ($j == 0) { $bg = $bgcolor2; $j++; } else { $bg = $bgcolor1; $j = 0; } echo "<tr style=\"background: " . $bg . ";\">\n" . "<td style=\"width: 5%;\" align=\"center\"><img src=\"" . $RR['icone'] . "\" alt=\"\" /></td>\n" . "<td align=\"left\">" . $c_n . "</td>\n" . "<td align=\"center\">" . $img_recrut . "</td>\n" . "<td align=\"left\">" . $RR['role'] . "</td></tr>\n"; } echo "</table>"; closetable(); } switch ($_REQUEST['op']) { default: index(); break; } } else if ($level_access == -1) { opentable(); echo "<br /><br /><div style=\"text-align: center;\">" . _MODULEOFF . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a><br /><br /></div>"; closetable(); } else if ($level_access == 1 && $visiteur == 0) { opentable(); echo "<br /><br /><div style=\"text-align: center;\">" . _USERENTRANCE . "<br /><br /><b><a href=\"index.php?file=User&op=login_screen\">" . _LOGINUSER . "</a> | <a href=\"index.php?file=User&op=reg_screen\">" . _REGISTERUSER . "</a></b><br /><br /></div>"; closetable(); } else { opentable(); echo "<br /><br /><div style=\"text-align: center;\">" . _NOENTRANCE . "<br /><br /><a href=\"javascript:history.back()\"><b>" . _BACK . "</b></a><br /><br /></div>"; closetable(); } ?>
il y a des modification sur la sql que voici:

Code : Tout sélectionner

CREATE TABLE IF NOT EXISTS `_wow_recrutement` ( `classes` varchar(50) NOT NULL, `statut` varchar(20) NOT NULL, `icone` varchar(200) NOT NULL, `role` varchar(200) NOT NULL, KEY `statut` (`statut`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; INSERT INTO `_wow_recrutement` (`classes`, `statut`, `icone`, `role`) VALUES ('_DRUID', 'on', 'modules/Wow_recrutement/img/icone/0.png', 'Tank | Heal | Dps'), ('_HUNT', 'off', 'modules/Wow_recrutement/img/icone/1.png', ''), ('_MAGE', 'off', 'modules/Wow_recrutement/img/icone/2.png', ''), ('_DK', 'off', 'modules/Wow_recrutement/img/icone/3.png', ''), ('_PALADIN', 'on', 'modules/Wow_recrutement/img/icone/4.png', 'Heal'), ('_PRIEST', 'on', 'modules/Wow_recrutement/img/icone/5.png', 'Dps'), ('_ROGUE', 'off', 'modules/Wow_recrutement/img/icone/6.png', ''), ('_SHAMAN', 'on', 'modules/Wow_recrutement/img/icone/7.png', 'Heal'), ('_WARLOCK', 'off', 'modules/Wow_recrutement/img/icone/8.png', ''), ('_WARRIOR', 'on', 'modules/Wow_recrutement/img/icone/9.png', 'Tank | Dps'); INSERT INTO `_modules` (`id`, `nom`, `niveau`, `admin`) VALUES ('', 'Wow_recrutement', 0, 3); INSERT INTO `_config` (`name`, `value`) VALUES ('wow_recrut_url', 'http://www.votreurl.ici'); INSERT INTO `_config` (`name`, `value`) VALUES ('wow_recrut_msg', 'Le message de recrutement ici');
esque quelqu'un pourrai m'aider svp je suis totalement pomé

Invité
Invité n'ayant pas de compte PHPfrance

26 févr. 2011, 20:52

Simplement remplacer ceci
$sql = mysql_query("SELECT classes FROM " . WOW_RECRUTERMENT_TABLE);
 $count = mysql_num_rows($sql);
par ceci
$sql = mysql_query("SELECT classes FROM " . WOW_RECRUTERMENT_TABLE);
$req = mysql_query($sql);
$count = mysql_num_rows($req);

sayajin33
Invité n'ayant pas de compte PHPfrance

26 févr. 2011, 21:15

merci pour cette réponse éclair ^^ mais cela ne marche pas sniff si cela peu vous aider je peu vous mettre les fichiershttp://gretacapmecanique.free.fr/Wow_recrutement.rar

ViPHP
xTG
ViPHP | 7331 Messages

26 févr. 2011, 21:41

Oulala c'est quoi cette réponse...

L'erreur vient du fait que la constante est mal nommée : WOW_RECRUTERMENT_TABLE

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

26 févr. 2011, 21:46

Simplement remplacer ceci
$sql = mysql_query("SELECT classes FROM " . WOW_RECRUTERMENT_TABLE);
 $count = mysql_num_rows($sql);
par ceci
$sql = mysql_query("SELECT classes FROM " . WOW_RECRUTERMENT_TABLE);
$req = mysql_query($sql);
$count = mysql_num_rows($req);
O_o deux mysql query ....nan faut surtout gérer les éventuels message d'erreur, donc dans ce cas
<?php
if ($sql === false) {
echo 'Erreur SQL à la ligne '.__LINE__.' avec le message : '.mysql_error();
}
else {
$count = mysql_num_rows($sql);
}
?>
@+
Il en faut peu pour être heureux ......

ViPHP
xTG
ViPHP | 7331 Messages

27 févr. 2011, 00:05

Il a pas son niveau d'erreur PHP au max de manière...
Ou alors il ne nous pas pas tout mis.

Car il aurait du avoir un warning (ou notice je sais plus) pour une constante inexistante (car faute de nom).