[spip-dev] erreur PHP

Bonjour, bananée 2003.
Ma demande est pas forcément en plien dans le SPIP mais j’espère que les pro du PHP m’en voudront pas trop.
J’ai écrit deux trois lignes pour extraire les articles publiés dans la base l’année précedent l’année en cours,
que voici :

<?php
$cfg[‘Servers’][$i][‘host’] = ‘sql2’;
$anneeencours=date(“Y”);
$anneeprec=–$anneeencours;
$id=mysql_connect(“sql2”,“poleressspip”,“EtbVHwRq”);
mysql_select_db(“spip”);
$query=“SELECT DISTINCT a.titre,a.id_article FROM spip_mots_articles as m,spip_articles as a WHERE((m.id_mot=12)AND(year(a.date)=$anneeprec))”;
$result=mysql_query($query,$id);
while($row=@mysql_fetch_row($result))
{
echo $row[0]
;

}
mysql_free_result($result);
?>

ca marchait sous Easyphp, et maintenant sur le serveur après reconficugration du login et mot de passe j’ai le message d’erreur suivant :

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/poleress/www/SPIP/resoanneeprecessais11.php3 on line 25
la ligne 25 correspond à : mysql_free_result($result);
Je suis vraiment super débutante en php est-ce que quelqu’un(e) pourrait me dire ce qu’il faut faire ? ou du moins ce que ca veut dire ?
Merci
Sarah

Salut

"S.Calas" a écrit :

Bonjour, bananée 2003.
Ma demande est pas forcément en plien dans le SPIP mais j'espère que
les pro du PHP m'en voudront pas trop.
J'ai écrit deux trois lignes pour extraire les articles publiés dans
la base l'année précedent l'année en cours,
que voici :

<?php
$cfg['Servers'][$i]['host'] = 'sql2';
$anneeencours=date("Y");
$anneeprec=--$anneeencours;
$id=mysql_connect("sql2","poleressspip","EtbVHwRq");
mysql_select_db("spip");
$query="SELECT DISTINCT a.titre,a.id_article FROM spip_mots_articles
as m,spip_articles as a
WHERE((m.id_mot=12)AND(year(a.date)=$anneeprec))";
$result=mysql_query($query,$id);
while($row=@mysql_fetch_row($result))
{
echo "<a href='article.php3?id_article=$row[1]'>$row[0]</a><br>" ;

}
mysql_free_result($result);
?>

ca marchait sous Easyphp, et maintenant sur le serveur après
reconficugration du login et mot de passe j'ai le message d'erreur
suivant :

Warning: mysql_free_result(): supplied argument is not a valid MySQL
result resource in /home/poleress/www/SPIP/resoanneeprecessais11.php3
on line 25
la ligne 25 correspond à : mysql_free_result($result);
Je suis vraiment super débutante en php est-ce que quelqu'un(e)
pourrait me dire ce qu'il faut faire ? ou du moins ce que ca veut dire
?
Merci
Sarah

C'est parce que le résultat ($result) de ta requête ($query) au dessus
n'est pas un résultat SQL valide (certainement aucun résultat)
En testant ta requête avec phpmyadmin, tu pourras voir si ta requête
renvoie quelquechose.
Autrement tu peux mettre ceci :
if (!$result) {
//S'il n'y a pas de résultat, on fait rien
}else {
mysql_free_result($result);
//S'il y a un résultat, on libère la ressource (mémoire)
}

A+ Yann