[PHP] Fehler beim Auslesen einer Tabelle aus MySQL DB



  • Hallo,

    also, ich habe folgenden PHP-Source:

    $conn = @mysql_connect($server, $user, $pass);
    if($conn) {
     mysql_select_db($dbase, $conn);
     echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: $conn";
     $sql = "SELECT * FROM AD_PROFIL";
     $result=mysql_query($sql, $conn);
    
     $number=mysql_num_rows($result);
     echo "<p> Es sind $number Datensätze gelesen worden.</p>";
    
     echo "<table border=1>";
     while ($row=mysql_fetch_array($result, MYSQL_ASSOC)) {
       echo "<tr><td>";
       echo implode("</td></td>",$row);
       echo "<td></tr>\n";
     }
     echo "</table>";
    

    Also das Skript soll eine Tabelle in meiner SQL-Datenbank ausgeben, aber es kommen zwei Fehlermeldungen:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in mysql-tests/show_table.php4 on line 8
    Es sind Datensätze gelesen worden.
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource mysql-tests/show_table.php4 on line 12

    Was ist falsch an dem PHP-Code??? Ich komm einfach nicht auf de Lösung!!

    Danke schon mal im vorraus.

    Gruß
    Michael



  • Ich würde mal vermuten, dass sich der Fehler hier versteckt:

    $sql = "SELECT * FROM AD_PROFIL";
    $result=mysql_query($sql, $conn);
    

    Mach mal danach noch ein echo mysql_error(); damit du siehst, was genau du falsch gemacht hast 😉



  • Die Funktion echo mysql_error(); zeigt kein Error an.



  • Ist AD_PROFIL ein Define ?
    Wenn ja, dann versuche mal:

    $sql = "SELECT * FROM ".AD_PROFIL;
    

    Bye



  • Original erstellt von Cenetix:
    **Ist AD_PROFIL ein Define ?
    **

    Nein, AD_PROFIL ist eine Tabelle in meiner mySQL-DB.



  • Hallo,
    Es funktioniert jetzt. Was weis ich, was da falsch war, bzw. falsch sein sollte.

    Hier nochmal der funktionierene Code:

    <?php

    #Die Werte in den folgenden Variablen hab ich natürlich herausgelassen.
    user = ""; # Username für die MySQL-DB pass = ""; # Kennwort für die MySQL-DB
    server = ""; # Adresse/IP/Name des MySQL-Server dbase = ""; # Name der standardmäßig verwendeten Datenbank

    conn=@mysqlconnect(conn = @mysql_connect(server, $user, pass);echomysqlerror(pass); echo mysql_error(conn);
    mysql_select_db($dbase, conn);echomysqlerror();if(conn); echo mysql_error(); if(conn)
    {
    echo "<b>Verbindung erfolgreich aufgebaut!</b> Handle-ID: conn";conn"; sql = "SELECT * FROM AD_PROFIL";
    result=mysqlquery(result= mysql_query(sql, $conn);
    echo mysql_error();

    number=mysql_num_rows(number=mysql\_num\_rows(result);
    echo mysql_error();
    echo "<p> Es sind $number Datensätze gelesen worden.</p>";
    echo "<table border=1>";

    while (row=mysql_fetch_array(row=mysql\_fetch\_array(result,MYSQL_ASSOC))
    {
    echo mysql_error();
    echo "<tr><td>";
    echo implode("<td></td>",$row);
    echo mysql_error();
    echo "</td></tr>\n";
    }
    echo "</table>";
    }
    else
    {
    echo "<b>Verbindung zum MySQL-Server konnte nicht hergestellt werden </b></body></html>";
    }

    ?>

    Bye Michael


  • Mod

    Original erstellt von <Gast>:
    **Hallo,
    Es funktioniert jetzt. Was weis ich, was da falsch war, bzw. falsch sein sollte.
    **

    dein query hat exakt nichts zurück gegeben - uU hast du erst jetzt daten in die tabelle geschrieben...


Anmelden zum Antworten