Bernd Hane: mysql_fetch_array(); und mysql_num_rows(); funktionieren nicht

Hallo,

ich hab ein Problem ich möchte die Daten einer Tabelle in einer Datenbank abfragen ich möchte aber auch die Datensätz zählen
deshalb hab ich folgendes gemacht...

if(mysql_connect($host, $username, $password))
{
 mysql_select_db("$dbname");
 $query = "SELECT * FROM Tabelle";
 $result = mysql_query($query);
 $numrows = mysql_num_rows($result);
...
jetzt heisst es wenn ich die datei ausführ folgendes...

Warning: Supplied argument is not a valid MySQL result resource in /dateien/datei.php on line 9 <- 9 is die line in der $numrows steht!
...
also dacht ich mir ok ich mach das ganze über eine id die ich dann in die Tabelle speicher also hab ich folgendes gemacht...
 if(mysql_connect($host, $username, $password))
{
 mysql_select_db("$dbname");
 $query = "SELECT * FROM Tabelle";
 $result = mysql_query($query);

$row = mysql_fetch_array($result);
 $id = $row["id"];
...
und es kommt der gleiche Fehler wie oben nur dass er bei $row ist.

also dacht ich naja vielleicht ist die funktion veraltet und schaute nach anderen bei www.php.net wo die gleichen Fehler auftraten!

weiss einer von euch da weiter ich stehe nämlich total auf dem Schlauch!

Gruss Bernd

  1. Warning: Supplied argument is not a valid MySQL result resource in /dateien/datei.php on line 9 <- 9 is die line in der $numrows steht!
    ...
    also dacht ich mir ok ich mach das ganze über eine id die ich dann in die Tabelle speicher also hab ich folgendes gemacht...
    if(mysql_connect($host, $username, $password))
    {
    mysql_select_db("$dbname");
    $query = "SELECT * FROM Tabelle";
    $result = mysql_query($query);

    $row = mysql_fetch_array($result);
    $id = $row["id"];
    ...
    und es kommt der gleiche Fehler wie oben nur dass er bei $row ist.

    also dacht ich naja vielleicht ist die funktion veraltet und schaute nach anderen bei www.php.net wo die gleichen Fehler auftraten!

    http://www.php.net/manual/en/function.mysql-num-rows.php

    Beispiel:
    <?php

    $link = mysql_connect("localhost", "mysql_user", "mysql_password");
    mysql_select_db("database", $link);

    $result = mysql_query("SELECT * FROM table1", $link);
    $num_rows = mysql_num_rows($result);

    echo "$num_rows Rows\n";

    ?>

    Du musst beim connecten auf einen Link angeben (siehe Beispiel):
    http://www.php.net/manual/en/function.mysql-connect.php

    Tobi

    1. Nö muss er nicht!

      mysql_connect('host','user','pw');
      mysql_select_db("$db");

      funzt genauso gut

      aber versuchs mal mit:

      $query = mysql_query("SELECT * FROM Tabelle");
      $result = mysql_query($query);

      1. aber versuchs mal mit:

        $query = mysql_query("SELECT * FROM Tabelle");
        $result = mysql_query($query);

        und dannach dann noch $numrows = mysql_num_rows($result);?

        wenn ja dann geht es nicht

        Gruss Bernd

      2. Rhabarber

        aber versuchs mal mit:

        $query = mysql_query("SELECT * FROM Tabelle");
        $result = mysql_query($query);

        Also das ist doch ausgemachter Blödsinn ... in $query steht ja dann das Ergebnis der Query, und das kann man so nicht einfach in die nächste Query reinquetschen, das gibt gar keinen Sinn.

        Ciao,

        Harry

  2. n'Abend

    $result = mysql_query($query);

    vielleicht solltest Du an dieser Stelle mal ein

    echo mysql_error();

    einbauen, um rauszubekommen, was MYSQL an dieser Query nicht gefällt ...

    $numrows = mysql_num_rows($result);
    ...
    Warning: Supplied argument is not a valid MySQL result resource in /dateien/datei.php on line 9 <- 9 is die line in der $numrows steht!

    Na, das heißt doch ungefähr soviel wie "die query war sch**** da gibt's kein Ergebnis für" ;-)

    Ciao,

    Harry

  3. Hallo,

    also das Problem hat sich erledigt dank die(mysql_error());
    die Query hatte einen Fehler aber trozdem danke für eure Antworten!

    Gruss Bernd