Warnings sql

slatrach Messages postés 64 Statut Membre -  
crabs Messages postés 909 Statut Membre -
bonjour!
est ce que qlq 1 peut m'aider j'ai les warnings suivant:

Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/4/1/slatrach/annonces.php3 on line 25

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/4/1/slatrach/annonces.php3 on line 26

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/4/1/slatrach/annonces.php3 on line 68

voici mon code source:
<?
include("conf.php3");
$table="annonces";

MYSQL_CONNECT($serveur,$login,$pass);

/* Prend le nom de lactivite dans la table numact*/
mysql_select_db("$base");
$query="select * from $table where rubrique='$cat' order by date desc";
$result=mysql_query($query);
$champs=mysql_num_fields($result);
$lignes=mysql_num_rows($result);

if ($lignes!=0) {

while ($rows = mysql_fetch_array($result))
{
echo ("<table border='1' cellpadding='2' cellspacing='0' width='700'>
<font size=2>
<tr>
<td>
<table border='0' cellpadding='0' cellspacing='0' width='700'>
<tr>
<td><b>$rows[1]</b></td>
<td align='right'>");echo date("j/m/Y",$rows[7]); echo ("</td>
</tr>
</table>
</td>
</tr>
<tr>
<td> $rows[4] </td>
</tr>
<tr>
<td>
<table border='0' cellpadding='0' cellspacing='0' width='700'>
<tr>
<td>Email:<a href='mailto:$rows[3]'>$rows[3]</a></td>
<td align='right'>"); if ($rows[6]!=0) {echo"Tel:$rows[6]";}
echo ("</td>
</tr>
</table>
</td>
</tr>
</font>
</table>
<br>
");
}
echo "</tr></table>";

}
else {echo "Il n'y a pas d'annonce correspondant à cette rubrique<br><br><center><a href='javascript:history.back()'>Retour</a></center></tr></table>";}

mysql_free_result($result);
MYSQL_CLOSE();
?>

5 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Le reflexe à avoir quand on a des "supplied argument is not a valid mysql ressources" c'est le faire un echo sur ta requête générée et de l'essayer d'une manière plus directe dans ta base de données.

    Exemple si tu as:
    $result=mysql_query($query); 

    Alors mets ceci juste avant:
    echo $query;


    Tu fais un copier coller de cette requête affichée dans PhpMyAdmin ou sur un client mysql et tu regardes l'erreur qu'on te retourne...
    0
  2. slatrach Messages postés 64 Statut Membre 24
     
    j'ai cette erreur:

    select * from annonces where rubrique='emploi' order by date desc
    Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/4/1/slatrach/annonces.php3 on line 26

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/4/1/slatrach/annonces.php3 on line 27
    Il n'y a pas d'annonce correspondant à cette rubrique
    0
  3. crabs Messages postés 909 Statut Membre 507
     
    Il semblerait que ce soit mysq_query() qui ait rencontré une erreur...
    Mets ça dans ton code :
    $result=mysql_query($query) or die( mysql_error() ) ;
    

    Et regarde ce que ça donne.
    Je n'utiliserai mysql_num_fields() que si la requette fournit des resultats.
    /question: as-tu suivi ce qu'a dit kilian ?
    0
  4. slatrach Messages postés 64 Statut Membre 24
     
    bonjour!
    en utilisant
    $result=mysql_query($query) or die( mysql_error() ) ;
    j'ai l'erreur:
    Unknown column 'rubrique' in 'where clause'

    voici ma table :

    create table annonces (
    numero int,
    nom varchar(45),
    auteur varchar(30),
    email varchar(50),
    contenu blob,
    rubrique varchar(20),
    telephone varchar(20),
    date int
    );

    mon site :http://slatrach.free.fr/annonces.php3
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. crabs Messages postés 909 Statut Membre 507
     
    T'as le bug du siècle ;-)
    essaie de faire ça dans ta page :
    // après : mysql_select_db("$base"); 
    $query = "SHOW CREATE TABLE $table" ;
    $result = mysql_query( $query ) or die( mysql_error() ) ;
    $row = mysql_fetch_array( $result, MYSQL_NUM ) ;
    echo "<pre>Table: ",$row[0],"\n\n", $row[1], "\n</pre>\n" ;
    

    Vérifies que la description de la table est la même que celle que tu attends.
    0