Zur Navigation

Daten einer Zeile abrufen [2]

11 Tilman

Wie rufst du das Script auf - wie oben beschrieben als buecher.php?id=1

Ja, so mache ich das!

Und in der Datenbank ist die Spalte auch vorhanden!

30.05.2008 14:15

12 Jörg Kruse

Du meinst die Zeile mit der ID 1?

Mit mysql_num_rows() kannst du dir die Anzahl der Ergebnisse aasgeben lassen:

$ergebnis = mysql_query("SELECT autor, titel, inhalt FROM buecherdaten WHERE id = " . $id);

$anzahl = mysql_num_rows($ergebnis);
echo $anzahl;

Was wird ausgegeben: 0 oder 1?

Edit:

in Beitrag 10 war auch noch ein Fehler, die Variablennamen müssen übereinstimmen (ich hatte übersehen, dass du den Namen von $dz auf $ergebnis geändert hattest)):

<php

$ergebnis = mysql_query("SELECT autor, titel, inhalt FROM buecherdaten WHERE id = " . $id);

list($autor, $titel, $inhalt) = mysql_fetch_row($ergebnis);
$autor = htmlspecialchars($autor);
$title = htmlspecialchars($titel);
$buchtext = htmlspecialchars($inhalt);

?>

30.05.2008 15:58

13 Tilman

Hallo!

Ich habe den Code ebengrade verbessert, wie du es gesagt hast. Trotzdem kam kein Ergebnis!

Ich habe mal alle Daten der Datenbank abgerufen:
<?
  $query = "SELECT * FROM buecher ORDER BY id";
  $sql = mysql_query($query);
  while ($ds = mysql_fetch_object($sql)){
    $titel = $ds -> titel;
    $autor = $ds -> autor;
    $inhalt = $ds -> inhalt;
    $id = $ds -> id;
    echo "$id $inhalt $titel $autor<br>";
  }
  mysql_close($dz);
?>

Der Code hat funktioniert. Mit der Verbindung zur Datenbank ist also alles OK.

31.05.2008 10:09

14 Jörg Kruse

Ich habe den Code ebengrade verbessert, wie du es gesagt hast. Trotzdem kam kein Ergebnis!

Wie sieht der Gesamtcode denn jetzt aus?

Und was hat $anzahl (in Beitrag 12) ausgegeben?

Edit:

In Beitrag 13 heißt die Tabelle jetzt "buecher" und nicht mehr "buecherdaten" wie in den vorhergehenden Beispielen:
 $query = "SELECT * FROM buecher ORDER BY id";

31.05.2008 10:40 | geändert: 31.05.2008 10:46

15 Tilman

Wie sieht der Gesamtcode denn jetzt aus?
Und was hat $anzahl (in Beitrag 12) ausgegeben?
Bei mir hat es nichts ausgegeben!

In Beitrag 13 heißt die Tabelle jetzt "buecher" und nicht mehr "buecherdaten"

Ich habe es mal auf meinem Webspace ausprobiert. Sonst habe ich es immer mit XAMPP ausprobiert.

31.05.2008 12:57

16 Jörg Kruse

Zitat von Tilman
Wie sieht der Gesamtcode denn jetzt aus?

Diese Frage hast du mir noch nicht beantwortet ;)

Und was hat $anzahl (in Beitrag 12) ausgegeben?
Bei mir hat es nichts ausgegeben!

Aber PHP läuft dort? Irgendeine Zahl sollte nämlich schon von PHP ausgegeben werden. Oder eine Fehlermeldung von PHP. Oder ist dein XAMPP so konfiguriert, dass Fehlermeldungen nicht ausgegeben werden?

In Beitrag 13 heißt die Tabelle jetzt "buecher" und nicht mehr "buecherdaten"

Ich habe es mal auf meinem Webspace ausprobiert. Sonst habe ich es immer mit XAMPP ausprobiert.

Das zeigt dann aber nur, dass der Code in Beitrag 13 auf deinem Webspace läuft. Interessant wär es zu wissen, ob dieser Code auch auf deinem XAMPP läuft und ob der korrigierte Code von Beitrag 9 auf deinem Webspace läuft.

31.05.2008 13:42 | geändert: 31.05.2008 13:44

17 Tilman

Hallo!

Ich glaube, den Gesamtcode brauche ich dir erstmal nicht schicken!
Ich habe mal den Code, den ich im Beitrag 13 genutzt habe, habe ich jetzt noch mal bei Xampp ausprobiert:

Jetz kommt die Fehlermeldung:
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in E:\TIL\xampp\htdocs\buecher\test3.php on line 33

Anscheinend stimmt dann eher was mit Xammp nicht, oder?

31.05.2008 14:09

18 Jörg Kruse

XAMPP scheint schon soweit ok - zumindest läuft PHP und spuckt auch eine Fehlermeldung aus

Den Tabellennamen hast du - nehme ich an - angepasst?

Lass dir mal den MySQL-Fehler ausgeben:

<?
  $query = "SELECT * FROM buecherdaten ORDER BY id";
  $sql = mysql_query($query);
  $error = mysql_error();
  die($error);
?>

31.05.2008 14:18 | geändert: 31.05.2008 14:18

19 Tilman

Es kommt folgende Fehlermeldung:
No database selected

31.05.2008 14:32

20 Jörg Kruse

Die Verbindung muss vorher noch aufgebaut sein - überprüfe gegebenenfalls die Daten (ich habe sie hier einfach aus einem vorhergehenden Beitrag kopiert):

<?
  $host = "localhost";
  $user = "tilman";
  $pass = "test";
  $database = "datenbanknamen";
  $dz = mysql_connect($host, $user, $pass);
  mysql_select_db($database, $dz);

  $query = "SELECT * FROM buecherdaten ORDER BY id";
  $sql = mysql_query($query);
  $error = mysql_error();
  die($error);
?>

31.05.2008 14:38