PHP Skriptproblem: mysql num rows()

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Timbo6, 15. Dezember 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 15. Dezember 2006
    Hallo,
    bekomme bei nachfolgendem Skript immer folgende Fehlermeldung:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Programme\apache\xampp\htdocs\vogelfreunde\all.php on line 14

    Achtung: Auf MySQL 5.0.15 läuft das Skript, nur auf 5.0.21 nicht.

    Skript:
    Code:
    <html>
    <head></head>
    <body>
    <?php
    alle Fehler im Browser anzeigen
    ini_set("diplay_errors",1);
    error_reporting(E_ALL);
    
    DB Verbindung herstellen
    $db = mysql_connect("localhost","root","") or die(mysql_error());
    mysql_select_db("person", $db) or die(mysql_error());
    
    $res = mysql_db_query("mitglieder", "SELECT * FROM mitglieder ORDER BY Name ASC");
    --> Zeile 14: $num = mysql_num_rows($res);
    $num = "select count(*) from mitglieder";
    
    Tabellenbeginn
    echo "<table border cellpadding='0' cellspacing='1' style='border-collapse:collapse' bordercolor=black>";
    
    Überschrift
    echo "<tr><thead bgcolor=yellow><th>Name</th><th>Vorname</th>";
    echo "<th>Geschlecht</th> <th>Geburtsdatum</th>";
    echo "<th>Strasse</th> <th>Ort</th>";
    echo "<th>Email</th> <th>BLZ</th>";
    echo "<th>Bank</th> <th>Kontonummer</th>";
    echo "<th>Beitrag</th></thead></tr>";
    
    for ($i=0; $i<$num; $i++)
    {
    $name = mysql_result($i,$res,"Name");
    $vorname = mysql_result($i,$res,"Vorname");
    $geschlecht = mysql_result($i,$res,"Geschlecht");
    $geburtsdatum = mysql_result($i,$res,"Geburtsdatum");
    $strasse = mysql_result($i,$res,"Strasse");
    $ort = mysql_result($i,$res,"Ort");
    $email = mysql_result($i,$res,"Email");
    $blz = mysql_result($i,$res,"BLZ");
    $bank = mysql_result($i,$res,"Bank");
    $kontonummer = mysql_result($i,$res,"Kontonummer");
    $beitrag = mysql_result($i,$res,"Beitrag");
    
    /* Tabellenzeile mit -zellen */
    echo "<tr> <td $silver>$name</td> <td $silver>$vorname</td>";
    echo "<td $silver>$geschlecht</td> <td $silver>$geburtsdatum</td>";
    echo "<td $silver>$strasse</td> <td $silver>$ort</td>";
    echo "<td $silver>$email</td> <td $silver>$blz</td>";
    echo "<td $silver>$bank</td> <td $silver>$kontonummer</td>";
    echo "<td $silver>$beitrag</td></tr>";
    }
    Tabellenende
    echo "</table>";
    
    mysql_close($db);
    ?>
    <a href='index.html' class='link1'>Zurück zur Hauptseite</a>
    </body>
    </html>
    
    Jemand ne Lösung für das Problem ?
     
  2. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    1. [ code ] -tag is dein freund // edit - thx
    2. siehe PHP: mysql_db_query - Manual
    Code:
    resource mysql_db_query ( string Datenbank, string Anfrage [, resource Verbindungs-Kennung] )
    du machst
    Code:
    resource mysql_db_query ( string Tabelle, string Anfrage [, resource Verbindungs-Kennung] )
     
  3. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    move to webtechnik
     
  4. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    Yoh super...habe ich geändert.
    Bekomme jetzt aber folgende Fehler:
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Programme\apache\xampp\htdocs\vogelfreunde\all.php on line 30
    ...
    ..
    .
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in D:\Programme\apache\xampp\htdocs\vogelfreunde\all.php on line 40

    Was kann man da machen?
     
  5. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    kompletten quellcode posten, auf zeilennummern achten, nen screenshot (bzw. gleichwertiges) von phpmyadmin und sicht auf die angesprochene tabelle.
     
  6. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    Code:
    <html>
    <head></head>
    <body>
    <?php
    alle Fehler im Browser anzeigen
    ini_set("diplay_errors",1);
    error_reporting(E_ALL);
    
    DB Verbindung herstellen
    $db = mysql_connect("localhost","root","") or die(mysql_error());
    mysql_select_db("person", $db) or die(mysql_error());
    
    $res = mysql_db_query("person", "SELECT * FROM mitglieder ORDER BY Name ASC");
    $num = mysql_num_rows($res);
    
    
    Tabellenbeginn
    echo "<table border cellpadding='0' cellspacing='1' style='border-collapse:collapse' bordercolor=black>";
    
    Überschrift
    echo "<tr><thead bgcolor=yellow><th>Name</th><th>Vorname</th>";
    echo "<th>Geschlecht</th> <th>Geburtsdatum</th>";
    echo "<th>Strasse</th> <th>Ort</th>";
    echo "<th>Email</th> <th>BLZ</th>";
    echo "<th>Bank</th> <th>Kontonummer</th>";
    echo "<th>Beitrag</th></thead></tr>";
    
    for ($i=0; $i<$num; $i++)
    {
    Zeile 30: $name = mysql_result($i,$res,"Name");
    Zeile 31: $vorname = mysql_result($i,$res,"Vorname");
    Zeile 32: $geschlecht = mysql_result($i,$res,"Geschlecht");
    Zeile 33: $geburtsdatum = mysql_result($i,$res,"Geburtsdatum");
    Zeile 34: $strasse = mysql_result($i,$res,"Strasse");
    Zeile 35: $ort = mysql_result($i,$res,"Ort");
    Zeile 36: $email = mysql_result($i,$res,"Email");
    Zeile 37: $blz = mysql_result($i,$res,"BLZ");
    Zeile 38: $bank = mysql_result($i,$res,"Bank");
    Zeile 39: $kontonummer = mysql_result($i,$res,"Kontonummer");
    Zeile 40: $beitrag = mysql_result($i,$res,"Beitrag");
    
    /* Tabellenzeile mit -zellen */
    echo "<tr> <td>$name</td> <td>$vorname</td>";
    echo "<td>$geschlecht</td> <td>$geburtsdatum</td>";
    echo "<td>$strasse</td> <td>$ort</td>";
    echo "<td>$email</td> <td>$blz</td>";
    echo "<td>$bank</td> <td>$kontonummer</td>";
    echo "<td>$beitrag</td></tr>";
    }
    Tabellenende
    echo "</table>";
    
    mysql_close($db);
    ?>
    <a href='index.html' class='link1'>Zurück zur Hauptseite</a>
    </body>
    </html>
    
    --> phpMyAdmin - 2.8.1
    --> MySQL Client-Version: 5.0.21
     
  7. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    der is noch interessant. aber eigentlich kannste selbst überprüfen, ob du nicht doch irgendwo tippfehler oder leere datensätze hast.

    zum code:
    - statt mysql_db_query benutzt du bitte mysql_query (ersteres ist schon lange veraltet)
    - statt dauerndem aufrufen von mysql_result nimmste bitte mysql_fetch_array - das sorgt auch dafür, dass dein abfragemechanismus zweckmäßiger funzt (dein vorgehen: lesen bis bestimmte anzahl erreicht; sollte sein: lesen bis ende)

    tolles beispiel von php.net:
    Code:
    <?php
    mysql_connect("localhost", "mysql_user", "mysql_password")
     or die("Keine Verbindung möglich: " . mysql_error());
    mysql_select_db("mydb");
    
    $result = mysql_query("SELECT id, name FROM mytable");
    
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
     printf ("ID: %s Name: %s", $row["id"], $row["name"]);
    }
    
     mysql_free_result($result);
    ?> 
     
  8. 15. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    PHP:
    echo  mysql_error ();
    Und das dann lesen.
     
  9. 16. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    Ist denn sichergestellt, dass aus der Abfrage auch was zurück kommt?
    Ein solcher Fehler entsteht z.B. wenn man versucht eine Abfrage auszuwerten, die leer ist...
     
  10. 16. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    probiers damit:
    PHP:
    <? php
    # Fehler anzeigen
    ini_set ( "diplay_errors" , 1 );
    error_reporting ( E_ALL );

    # Datenbankverbindung
    $db  = @ mysql_connect ( "BD_HOST" , "DB_USER" , "DB_PASS" ) or die( "Es konnte keine Verbindung aufgebaut werden" );
    mysql_select_db ( $db ) or die( "Datenbank konnte nicht ausgewählt werden" );

    $query  mysql_query ( "SELECT * FROM mitglieder ORDER BY Name ASC" );
    $rows  mysql_num_rows ( $query );
    ?>
    <html>
    <head></head>
    <body>
    <?php
    echo  "<table border cellpadding='0' cellspacing='1' style='border-collapse:collapse' bordercolor=black>" ;
    echo 
    "<tr><thead bgcolor=yellow><th>Name</th><th>Vorname</th>" ;
    echo 
    "<th>Geschlecht</th> <th>Geburtsdatum</th>" ;
    echo 
    "<th>Strasse</th> <th>Ort</th>" ;
    echo 
    "<th>Email</th> <th>BLZ</th>" ;
    echo 
    "<th>Bank</th> <th>Kontonummer</th>" ;
    echo 
    "<th>Beitrag</th></thead></tr>" ;

    while(
    $data  mysql_fetch_array ( $query )) {
        echo 
    "<tr><td>" . $data [ 'name' ]]. "</td> <td>" . $data [ 'vorname' ]. "</td>" ;
        echo 
    "<td>" . $data [ 'geschlecht' ]. "</td> <td>" . $data [ 'geburtsdatum' ]. "</td>" ;
        echo 
    "<td>" . $data [ 'strasse' ]. "</td> <td>" . $data [ 'ort' ]. "</td>" ;
        echo 
    "<td>" . $data [ 'email' ]. "</td> <td>" . $data [ 'blz' ]. "</td>" ;
        echo 
    "<td>" . $data [ 'bank' ]. "</td> <td>" . $data [ 'kontonummer' ]. "</td>" ;
        echo 
    "<td>" . $data [ 'beitrag' ]. "</td></tr>" ;
    }
    echo 
    "</table>" ;
    mysql_close ( $db );
    ?>
    <a href='index.html' class='link1'>Zurück zur Hauptseite</a>
    </body>
    </html>
     
  11. 16. Dezember 2006
    AW: PHP Skriptproblem: mysql num rows()

    Nu läufts....thx @ all

    Code:
    <?php
    # Fehler anzeigen
    ini_set("diplay_errors",1);
    error_reporting(E_ALL);
    
    # Datenbankverbindung
    $db = mysql_connect("localhost","root","") or die(mysql_error());
    mysql_select_db("adressen", $db) or die(mysql_error());
    
    $query = mysql_query("SELECT * FROM verein ORDER BY Name ASC");
    $rows = mysql_num_rows($query);
    ?>
    <html>
    <head></head>
    <body>
    <?php
    echo "<table border cellpadding='0' cellspacing='1' style='border-collapse:collapse' bordercolor=black>";
    echo "<tr><thead bgcolor=yellow><th>Name</th><th>Vorname</th>";
    echo "<th>Geschlecht</th> <th>Geburtsdatum</th>";
    echo "<th>Strasse</th> <th>Ort</th>";
    echo "<th>Email</th> <th>BLZ</th>";
    echo "<th>Bank</th> <th>Kontonummer</th>";
    echo "<th>Beitrag</th></thead></tr>";
    
    while($data = mysql_fetch_array($query)) {
     echo "<tr><td>".$data['name']."</td> <td>".$data['vorname']."</td>";
     echo "<td>".$data['geschlecht']."</td> <td>".$data['geburtstag']."</td>";
     echo "<td>".$data['strasse']."</td> <td>".$data['ort']."</td>";
     echo "<td>".$data['email']."</td> <td>".$data['blz']."</td>";
     echo "<td>".$data['bank']."</td> <td>".$data['kontonummer']."</td>";
     echo "<td>".$data['beitrag']."</td></tr>";
    }
    echo "</table>";
    mysql_close($db);
    ?>
    <a href='index.html' class='link1'>Zurück zur Hauptseite</a>
    </body>
    </html>
    
     
  12. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.