Philipp: MySQL: Daten auslesen - nur "Resource id #4"? (N00b)

Hallo,
 ich fange gerade mit MySQL an und habe ein Problem mit dem Daten auslesen. Ich habe 3 PHP-Seite - eine Config, eine zum Tabelle anlegen und Daten schreiben sowie eine zum Auslesen der Daten.
wenn ich die Daten auslesen will, zeigt er mir als Ergebnis nu "Resource id #4" an (echo).
Folgender Code zum schreiben:
<?php

include("config.php");

$DataConnect = mysql_connect($DataHost, $DataUserName, $DataPassword);
 mysql_select_db($DataName, $DataConnect) or die ("Fehler: Ausgewählte Datenbank ist nicht vorhanden.");

mysql_query("create table $DataTable(ID INT NOT Null AUTO_INCREMENT Primary Key, Name VARCHAR(20) NOT Null, Comment VARCHAR(100) NOT Null)");
 mysql_query("insert into $DataTable(Name, Comment) values('Spiky Halo', 'Echt tolle Seite!')");

mysql_close($DataConnect);

?>

---

Und folgender zum lesen:

<?php

include("config.php");

$DataConnect = mysql_connect($DataHost, $DataUserName, $DataPassword);
 mysql_select_db($DataName, $DataConnect) or die ("Fehler: Ausgewählte Datenbank ist nicht vorhanden.");

$Name = mysql_query("select Name from $DataTable", $DataConnect);
 echo "Daten:<br> $Name";

mysql_close($DataConnect);
?>

Wo liegt der Fehler? Ich hab auf meinem Server mal geguckt, die Tabelle wurde erstellt und die Daten auch hineingeschrieben.

Danke im Voraus!
MfG Philipp

  1. Probiere das mal:
    $DataTable="name der tabele";

    $Name = mysql_fetch_assoc(mysql_query("SELECT Name from '$DataTable'"));
    echo "Date:<br>".$Name;

    anstat von

    $Name = mysql_query("select Name from $DataTable", $DataConnect);
     echo "Daten:<br> $Name";

    1. $Name = mysql_fetch_assoc(mysql_query("SELECT Name from '$DataTable'"));
      echo "Date:<br>".$Name;

      Bekomme leider ein
      Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/www/htdocs/poly-pixel.de/mysql/read.php on line 9
      Daten:

      1. Sorry mein fehler und zwar musst du sicher sein bei mysql_fetch_assoc das du nur eine zeile asugewählt hast.
        Das machst du mit der WHERE abfrage. wie z.B.

        $Name = mysql_fetch_assoc(mysql_query("SELECT Name FROM '$DataTable' WHERE id=1"));
        echo "Date:<br>".$Name;

        1. Bekomme ein:
          Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/www/htdocs/poly-pixel.de/mysql/read.php on line 8
          Date:

          Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/www/htdocs/poly-pixel.de/mysql/read.php on line 11

          Ich seh langsam nicht mehr durch...*lol*

          1. OK da wo ich geschrieben hab "WHERE id=1" das musst ändern.
            Wenn di table falgender massen asugebaut ist

            id    name     mail
            2     oli     oli@mail.de
            3     hans   hans@lala.de
            5    bernd   b.tool@tool.de

            so jezt musst du sagen

            WHERE id=2

            dann bekomsmt du die daten vom hans
            oder
            WHERE name='oli'
            dann bekommst du die daten vom oli

            1. ES GEHT *freu* *freu* *freu*
              Hier der Code:
              <?php

              include("config.php");

              $DataConnect = mysql_connect($DataHost, $DataUserName, $DataPassword);
               mysql_select_db($DataName, $DataConnect) or die("Fehler: Ausgewählte Datenbank ist nicht vorhanden.");

              $Result = mysql_query("select Name from $DataTable", $DataConnect);
               $Name = mysql_fetch_assoc($Result);
               echo $Name["Name"];

              mysql_close($DataConnect);
              ?>

              Danke an euch beide!

    2. Hallo Butterbrot,

      $Name = mysql_fetch_assoc(mysql_query("SELECT Name from '$DataTable'"));

      wesentlich schlechter kann man es eigentlich nicht mehr machen - du kannst nicht überprüfen, ob mysql_query auch wirklich den $query bekommt, von dem du glaubst dass er ihn bekommt und du fängst keinerlei Fehler ab.

      echo "Date:<br>".$Name;

      und das wird nur "Array" ausgeben. (wie sich auf http://de3.php.net/mysql_fetch_assoc nachlesen lässt, gibt mysql_fetch_assoc() ein Array zurück)

      Grüße aus Nürnberg
      Tobias

      --
      Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hallo Philipp,

    $DataConnect = mysql_connect($DataHost, $DataUserName, $DataPassword);

    warum bekommt dies Funktion nicht auch ein "or die(mysql_error())" o.ä.?

    $Name = mysql_query("select Name from $DataTable", $DataConnect);

    in $Name hast du jetzt eine Verbindungs-Kennung mit Hilfe derer du mit mysql_fetch_* (z.B. mit mysql_fetch_assoc() (->http://de.php.net/mysql_fetch_assoc)) deine Daten abholen kannst. Schau dir die Seite mal an - wenn du noch Fragen hast, frag nochmal nach (in diesem Thread).

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. Ich kirge leider immer noch ein
      Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/www/htdocs/poly-pixel.de/mysql/read.php on line 11

      Hab jetzt folgendes geschrieben:
       $Result = mysql_query($SQL);
       $Name = mysql_fetch_assoc($Result);
       echo $Result["Name"];

      1. Hallo Philipp,

        Auch wenn das Problem inzwischen gelöst ist:

        Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/www/htdocs/poly-pixel.de/mysql/read.php on line 11

        in solchen fällen immer mysql_error() befragen (z.B. so: $row = mysql_fetch_assoc($Result) or die(mysql_error());)

        Hab jetzt folgendes geschrieben:
         $Result = mysql_query($SQL);
         $Name = mysql_fetch_assoc($Result);
         echo $Result["Name"];

        $Result ist kein Array - $Name dagegen schon. In solchen Fällen hilft ein var_dump($foo) um zu sehen, was ein einer Variablen eigentlich drinsteht.

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|