Mailinglisten-Archive |
> ich habe folgendes Problem: > > das Script > > -------- > <html> > <head><title>Test</title> > </head> > <body> > > <?php > > $link = mysql_connect("127.0.0.1","gb_user",""); > $query = "use guestbook"; > if (!mysql_query($query,$link)) > echo "Datenbank existiert nicht/Zugriff verweigert"; > if (mysql_query($query,$link)) > { > $query = "SELECT name FROM eintraege WHERE id=1"; > $link = mysql_connect("127.0.0.1","gb_user",""); > $name = mysql_query($query,$link); > echo "$name"; > } > > ?> > > </body> > </html> > -------- > > liefert mir nicht den Eintrag des Feldes "name" in der > Reihe, in der "id" "1" ist, sondern gibt immer "2" aus! Mit > der Datenbank und der Tabelle ist soweit alles in Ordnung. Wer > kann mir helfen? Hallo Björn, also irgendwie sieht mir das ein bißchen komisch aus: Warum connectest Du denn innerhalb Deiner If-Abfrage ein zweites Mal zu Deiner DB? Das ist schon mal haarig, ich weiß nicht, wie PHP das verarbeitet. Auf jeden Fall ist es überflüssig! Sauberer wäre meiner Meinung nach folgendes: $link=mysql_connect("127.0.0.1","gb_user","") or die("Datenbank-Server nicht verfügbar"); $query=mysql_select_db("guestbook") or die("Datenbank existiert nicht"); $query="SELECT name FROM eintraege WHERE id=1"; $name=mysql_query($query); // Link ist bei nur einer verwendeten DB nicht notwendig $datensatz=mysql_fetch_row($name); echo $datensatz[0]; Du bekommst nämlich bei der Abfrage erst einmal nur einen Link und nicht sofort die Daten zurückgeliefert. Erst mit mysql_fetch_row() werden die Daten in ein Array übergeben, welches Du dann ausgeben kannst. Gruß Stefan
php::bar PHP Wiki - Listenarchive