Probmème script PHP



  • bonjour j'ai fais une aplication et il m'affiche une erreure je comprend rien

    voila l'erreure :

    Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /home/amed/www/…...

    le sript:

    $number = mysql_numrows($result);

    if ($number > 0) {
    print "<table>";
    print "<tr>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>NUMBER</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>NAME</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>CITY</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>COUNTRY</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>FLIGHT TIME</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>STATUS</b></font></td>";
    print "</tr>";

    for ($i=0; $i<$number; $i++) {
    $num = mysql_result($result,$i,"pilot_num");
    $name = mysql_result($result,$i, "name");
    $city = mysql_result($result,$i, "city");
    $country = mysql_result($result,$i, "country");
    $status = mysql_result($result,$i, "status");
    $id = mysql_result($result,$i, "pilot_id");

    $query_hours = "SELECT sec_to_time(sum(time_to_sec(t2.duration))) AS duration_sum FROM pilots t1, reports t2 WHERE t1.pilot_id=$id AND t1.pilot_id=t2.pilot_id";
    $result_hours = mysql_query($query_hours);

    if (mysql_numrows($result_hours) > 0) {
    $time = mysql_result($result_hours,0,"duration_sum");
    }

    Merci de m'aider
    Cordialement
    Amed



  • tu n'a specifier aucun login, ni hôte et ni mot de passe pour que le scipt se connecte a la bdd !



  • la connection à mysql se fait par une autre page connect.php et ce qui est etditer ce n'est que la partie sui presente l'erreure
    Merci



  • Soit tu ne les à pas mis sur le forum, soit il manque deux " } "



  • voila la page ..

    <?php

    @define ("MYSQL_CONNECT_INCLUDE", "connect_db.php"); // MySQL database connection (a sample file is included)

    include(MYSQL_CONNECT_INCLUDE);

    $query = "SELECT * FROM pilots ORDER BY pilot_num ASC";
    $result = mysql_query($query);

    $number = mysql_numrows($result);

    if ($number > 0) {

    Change this HTML to fit your webpage layout */
    print "<table>";
    print "<tr>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>NUMBER</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>NAME</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>CITY</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>COUNTRY</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>FLIGHT TIME</b></font></td>";
    print "<td bgcolor=#000080 width=73 height=12 align=left><font face=Arial color=#FFFFFF size=1><b>STATUS</b></font></td>";
    print "</tr>";

    for ($i=0; $i<$number; $i++) {
    $num = mysql_result($result,$i,"pilot_num");
    $name = mysql_result($result,$i, "name");
    $city = mysql_result($result,$i, "city");
    $country = mysql_result($result,$i, "country");
    $status = mysql_result($result,$i, "status");
    $id = mysql_result($result,$i, "pilot_id");

    $query_hours = "SELECT sec_to_time(sum(time_to_sec(t2.duration))) AS duration_sum FROM pilots t1, reports t2 WHERE t1.pilot_id=$id AND t1.pilot_id=t2.pilot_id";
    $result_hours = mysql_query($query_hours);

    if (mysql_numrows($result_hours) > 0) {
    $time = mysql_result($result_hours,0,"duration_sum");
    }

    print "<tr>";
    print "<td width=73 height=12 align=left><font face=Arial size=1 color=#000080>$num</font></td>";
    print "<td width=73 height=12 align=left><font face=Arial size=1 color=#000080>$name</font></td>";
    print "<td width=73 height=12 align=left><font face=Arial size=1 color=#000080>$city</font></td>";
    print "<td width=73 height=12 align=left><font face=Arial size=1 color=#000080>$country</font></td>";
    print "<td width=73 height=12 align=left><font face=Arial size=1 color=#000080>$time</font></td>";
    print "<td width=73 height=12 align=left><font face=Arial size=1 color=#000080>$status</font></td>";
    print "</tr>";
    }

    print "</table>";

    }

    mysql_close();

    ?>



  • Cette erreur peut venir de l'une des causes suivantes:

    • Erreur dans la syntaxe

    • Erreur dans la structure de la requête

    Pour tester, cherche tout les :

    mysql_query(...);
    ```et remplace par
    

    mysql_query(...) or die('#' . LINE . ' => ' . mysql_error());

    Poste ensuite l'erreur qui s'affiche.


  • merci pour la formule majique
    Problème résolu avec l'aide de arcanis
    merci pour Game War



  • un tout petit ^probleme
    à l'execution j'ai pas les information afficher de la BD et un message que erreure dans la ligne 64
    dans cette ligne :
    $time = mysql_result($result_hours,0,"duration_sum")or die('#' . LINE . ' => ' . mysql_error());



  • Faut pas mettre les or die(…) sur les fonctions mysql_result, juste sur les mysql_query (sinon ça les fait se déclencher si l'une des valeurs de ta base de donnée est 0).
    Et quelle est l'erreur qui s'affiche ?


Se connecter pour répondre
 

Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.