Version complète: sur le forum Webmaster Hub : Problème avec système de news
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
charlesmacgourn
Bonjour


Voila j'ais un problème sur mon site www.lyrating.com avec le système de news il me dit :

"Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/.filer4/lyrating/www/admin/bnaffiche.php on line 120"

bon je vais sur ma page bnaffiche et à la ligne 120 j'ais "mysql_close (lyrating)"


Voila
NorSeb
Salut,

C'est parce que le lien à ta base n'existe pas ; comme si ca n'avait pas été ouvert.

Tu fait une connexion à la base en début de script ?
charlesmacgourn
$db = mysql_connect("lyrating.sql.jexiste.fr","lyrating","******") or mysql_die("Connexion impossible");

"""mysql_select_db("lyrating",$db); "" pour sa je sais pas quoi mettre dans db j'ais rien mis c'est pour sa ???
NorSeb
il faut que tu fasse un mysql_close($db);
charlesmacgourn
Ok ben sa me change pas le truc je dois mettre quoi "mysql_close($db);" pour le $db stp
NorSeb
Donne-nous ton code stp :

les lignes de connexion en particulier (avec mysql_connect)
charlesmacgourn
<?

$config="bnconfigs.php";

require("$config");
?>
<table width='473.5'>
<tr><td align='<? echo $bnalign; ?>'>

<div style="background-color:#383845">
<font color='#FFFFFF' face='arial' size='3'><i>News de <?echo $titre_site; ?></font></font></div>


<?

$db = mysql_connect("lyrating.sql.jexiste.fr","lyrating","******") or mysql_die("Connexion impossible");

mysql_select_db("lyrating");





$query = "SELECT * FROM bnnews ORDER by num desc;";

$result = mysql_query($query) or die ("impossible d' obtenir la liste des news");
$nb = mysql_numrows($result);
$i="0";
while ($i!=$ilimit && $val = mysql_fetch_array($result)) {



$i++;

$datenews = $val["date"];

$typenews= $val["type"];

$msgnews= $val["msg"];

$autornews= $val["autor"];

$liennews= $val["lien"];

$typeliennews= $val["typelien"];

if($nsmil=="1"){include "bnsmileys.php";}


$msgnews = ereg_replace("(\r\n|\n|\r)", "<br />", $msgnews);


?><table> <tr> <td width="471">


<font color='black' face='verdana,arial' size='<?echo $size; ?>'>

<b><i><? echo $i; ?></i></b>
<?
if($auteuron=="1")
{
?>
<font color='<?echo $colorautor; ?>'><? echo $autornews; ?>

<font color='black'>

a posté
<?
}
?>


<font color='<?echo $colortitre; ?>' face='verdana,arial' size='<?echo $size; ?>'>


<b><?echo $typenews; ?></b>

<i><font color='<?echo $colordate; ?>'>&agrave; <?echo $datenews; ?></b></td>
</tr><tr><td>



<font color='<?echo $colormsg; ?>' face='verdana,arial' size='<?echo $size; ?>'>
<p align='justify'>
<?echo $msgnews; ?>
</p>
</td></tr>
<font color='black' size='<?echo $size; ?>'><i><b>
<font color='gold'> </b>
<?
if($liennews=="http://"){}
elseif($liennews!="")
{
?>
<tr><td>
<i><a href='<?echo $liennews; ?>' target='_blank' title='<?echo $liennews; ?>'><font size='<?echo $size; ?>'><?echo $typeliennews; ?> </a></i>


</td></tr>

<?
}
?>
</table>

<br>

<?

}
if($nb=="0")
{
?>
<font face="verdana">Aucun Messages Posté pour l'instant<br>
<?
}

mysql_close($db);

?>

<font color=orange>
<div style="background-color:#383845">

<font color='#383845'>...</a></font></font></div>
</td></tr></table>


Voila
NorSeb
Les deux lignes suivantes
CODE
$db = mysql_connect("lyrating.sql.jexiste.fr","lyrating","******") or mysql_die("Connexion impossible");
mysql_select_db("lyrating");

correspondent d'une part à la connexion au serveur mysql et d'autre part au choix de la base de données à utiliser.

$db est la variable qui identifie le lien au serveur mysql.


CODE
mysql_close($db);

est censé fermer la connexion au serveur mysql, identifié dans ton cas par $db. Normalement ca doit marcher selon ton code (si $db n'est par malencontreusement réutilisé au cours de ton script).

J'ajoute que selon la doc (http://fr.php.net), la fonction mysql_close() n'est pas nécessaire et que elle peut s'utiliser sans paramètres.
NorSeb
Alors ? ca marche ?
charlesmacgourn
Attend jevais essayer merci en tous acs de ta réponse
charlesmacgourn
ben non www.lyrating.com sa marche pas
charlesmacgourn
je comprend pas sa me dit toujours "Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/.filer4/lyrating/www/admin/bnaffiche.php on line 120"
NorSeb
CITATION(charlesmacgourn @ vendredi 28 octobre 2005, 14h41)
ben non www.lyrating.com sa marche pas
*


Deux solutions :

1°/ Vire le mysql_close() a priori, tu n'a pas de connexion persistante et donc la fonction est facultative puisque la connexion sera automatiquement fermée à chaque fin de script

2°/ fait un essai avec mysql_close(); (sans $db)
charlesmacgourn
C'est bon sa marche merci beaucoup smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.