fehler beim datenausgeben- sql und php
Roffl
- php
hi,
ich hab ein problem beim ausgeben einer sql datenbank. der fehler ist immer: "mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given..."
hier mein code:
$db = @mysqli_connect($host, $user, $pass) or die("Verbindung zu MySQL gescheitert!");
$sql = "SELECT * FROM $typ";
$result = mysqli_query($db, $sql);
while ($row = mysqli_fetch_assoc($result)){
echo "<img border='0' src='$row->bild'>";
}
bitte um hilfe
Mahlzeit Roffl,
ich hab ein problem beim ausgeben einer sql datenbank. der fehler ist immer: "mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given..."
Ich übersetze mal frei: "mysqli_fetch_assoc() erwartet, dass der erste Parameter vom Typ mysqli_result ist, es wurde aber ein boolean-Wert übergeben..."
Dämmert's?
$db = @mysqli_connect($host, $user, $pass) or die("Verbindung zu MySQL gescheitert!");
Jawoll ... eventuelle Fehlermeldungen unterdrücken wir und falls es nicht klappt, lassen wir den Anwender halt im Regen stehen. Beachte bitte Zitat 1281!
$sql = "SELECT * FROM $typ";
Woher kommt $typ? Was ist dort enthalten?
$result = mysqli_query($db, $sql);
Informiere Dich darüber, welche Rückgabewerte die Funktion mysqli_query() liefert. Lasse Dir ggf. mittels mysqli_error() ausgeben, welcher Rückgabewert in Deinem konkreten Fall auftritt. Überlege, ob ...
while ($row = mysqli_fetch_assoc($result)){
... mysqli_fetch_assoc() damit etwas anfangen kann und inwiefern die o.g. Fehlermeldung Dir ziemlich *genau das* mitteilt.
bitte um hilfe
Kannst Du haben: Dir fehlen elementare Grundlagen im sinnvollen Debuggen.
MfG,
EKKi
Hi!
ich hab ein problem beim ausgeben einer sql datenbank. der fehler ist immer: "mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given..."
Das übliche: keine gescheite Fehlerbehandlung. mysqli_query() hat dir false zurückgeliefert und kein mysqli_result-Objekt. mysqli_fetch_*() will jedoch ein solches haben, denn von "false" kann man keine Daten abholen. Warum gab es das false? Weil der MySQL-Server die Query nicht abarbeiten konnte. Die genaue Ursache liefert mysqli_error().
Achte auf die Rückgabewerte der Funktionen. Werte diese aus, bevor du weiterarbeitest. Im Fehlerfall ist dies nämlich meist nicht sinnvoll, weswegen du diese erkennen und entsprechend darauf reagieren musst.
Lo!
Hello,
ich hab ein problem beim ausgeben einer sql datenbank. der fehler ist immer: "mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given..."
hier mein code:
$db = @mysqli_connect($host, $user, $pass) or die("Verbindung zu MySQL gescheitert!");
$sql = "SELECT * FROM $typ";
$result = mysqli_query($db, $sql);
if ($result)
{
while ($row = mysqli_fetch_assoc($result))
{
echo "<img border='0' src='$row->bild'>";
}
}
else
{
## Fehlerbehandlung: z.B. dem User ein "Tut mir leid, zurück zu <link>"
## und den mysqli_error() in das Log schreiben lassen
## [link:http://de2.php.net/manual/en/mysqli.error.php]
}
}
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg

--
☻\_
/▌
/ \ Nur selber lernen macht schlau
<http://bergpost.annerschbarrich.de>