Lightstorm
New member
Ich lerne gerade mit PHP auf MySQL Datenbanken zuzugreifen, versuche eine Datenbank mit drei Datensätzen auszulesen aber habe das Problem das ich den ersten Datensatz nicht angezeigt bekomme sondern die zwei letzten.
Es ermittelt erst die Anzahl der Datensätze mit mysql_num_rows und schreibt sie in $anzahl und die for Schleife nimmt den Wert aus $anzahl (3) und durchläuft drei mal eine foreach Schleife womit die Datensätze aufgelistet werden.
So sieht die Ausgabe aus:
Da fehlt das erste Datensatz mit der ID 1.
So sieht die Datenbank aus:


Es ermittelt erst die Anzahl der Datensätze mit mysql_num_rows und schreibt sie in $anzahl und die for Schleife nimmt den Wert aus $anzahl (3) und durchläuft drei mal eine foreach Schleife womit die Datensätze aufgelistet werden.
PHP:
<?php
$link = mysql_connect("localhost", "root", "");
if ( ! $link )
{
echo "Keine Verbindung zu Datenbanken";
die;
}
if ( ! mysql_select_db("testdb") )
{
echo "Konnte die Datenbank nicht auswählen: " . mysql_error();
die;
}
$query = "SELECT * FROM mienen";
$result = mysql_query($query);
$datensatz = mysql_fetch_row($result);
$anzahl = mysql_num_rows($result);
echo "Anzahl der Ergebnisse: " . $anzahl . "<br>";
echo "<br>";
for ($i=1; $i <= $anzahl; $i++)
{
$datensatz = mysql_fetch_array($result);
foreach( $datensatz as $schluessel => $wert )
{
echo "Schluessel: " . $schluessel . "Wert: " . $wert . "<br>";
}
echo "<br>";
}
?>
So sieht die Ausgabe aus:
Anzahl der Ergebnisse: 3
Schluessel: 0Wert: 2
Schluessel: IDWert: 2
Schluessel: 1Wert: 4
Schluessel: EisenmieneWert: 4
Schluessel: 2Wert: 4
Schluessel: GoldmieneWert: 4
Schluessel: 0Wert: 3
Schluessel: IDWert: 3
Schluessel: 1Wert: 5
Schluessel: EisenmieneWert: 5
Schluessel: 2Wert: 5
Schluessel: GoldmieneWert: 5
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\mienen\mienen.php on line 36
Da fehlt das erste Datensatz mit der ID 1.
So sieht die Datenbank aus:

