Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given |
brain_surgery

skype: energon-soup
 

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria Name: Nathalie
 |
|
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given |
 |
Huhu Leute.
Ich habe gerade ein Problem und komme nicht drauf, was da falsch sein könnte.
Und zwar bekomme ich folgende Fehlermeldung:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in ...
Ich verstehe aber nicht, wieso. Mein Skript sieht folgendermaßen aus:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
$query = mysql_query("SELECT * FROM pferde_light") or die (mysql_error());
if (@mysql_num_rows($query) == 0)
{
echo "Keine Pferde gefunden!";
exit;
} else {
while ($pferd = mysql_fetch_assoc($query))
{
...
}
} |
|
Das Skript (im while) wird trotz der Fehlermeldung ausgeführt. Was mir am Rästelhaftesten an der ganzen Sache vorkommt, ist dass trotz all den Vorkehrungen die ich gegen Fehler getroffen hab, trotzdem einer auftritt. Weder mysql_error() noch die if-Bedingung, die schaut ob keine Datensätze vorhanden sind, können etwas ausrichten.
Bitte um Hilfe, vielleicht übersehe ich da irgendetwas wichtiges?
;_;
lg, brain
__________________ Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt!
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von brain_surgery: 23.04.2011 20:06.
|
|
23.04.2011 15:51 |
|
|
Oli
Server-Administrator
    
Dabei seit: 13.06.2010
Beiträge: 1.540
 |
|
Hi,
das Problem hatte ich selbst schon einmal und liegt offenbar in dieser Zeile:
php: |
1:
|
$query = mysql_query("SELECT * FROM pferde_light") or die (mysql_error()); |
|
PHP scheint nun auszuwerten:
php: |
1:
2:
3:
|
$query = mysql_query("SELECT * FROM pferde_light") //true (erfolgreich der Variablen zugewiesen)
or
die (mysql_error()); //wird nicht ausgeführt, weil vorherige Bedingung true war |
|
PHP interpretiert die Zeile also nicht so, wie es gewünscht war und fährt trotz fehlgeschlagenem mysql_query() fort.
Probiers mal so:
php: |
1:
|
$query = (mysql_query("SELECT * FROM pferde_light") or die (mysql_error())); |
|
LG,
Oli
|
|
23.04.2011 20:31 |
|
|
brain_surgery

skype: energon-soup
 

Dabei seit: 09.02.2005
Beiträge: 973
Herkunft: austria Name: Nathalie
Themenstarter
 |
|
Vielen Dank für die Antwort!
Ich habe es ausprobiert, nun zeigt es mir nur mehr die Fehlermeldung der darauf folgenden if-Bedingung an ("Keine Pferde gefunden!").
Das heißt die mysql_num_rows scheinen jetzt 0 zu sein, obwohl sich nachweislich ein Datensatz in der Tabelle befindet.
Was mich ja wundert ist, dass es davor ja trotzdem klappte, das Skript in der while auszuführen, nur ging er scheinbar einmal zu oft in die Schleife hinein. (Ist zumindest meine Interpretation. Ich liege wahrscheinlich falsch, werde es eben mal mit mehreren Datensätzen probieren.)
lg, brain
EDIT: Alles klar, ich bin dumm, Fehler gefunden. Ich hatte nachher noch eine UPDATE-query, die ich ebenfalls in die Variable $query packte, wodurch die Ergebnisse der vorigen query verloren gingen.
Hat sich jetzt erledigt, es funktioniert einwandfrei!
__________________ Da ich selten bis gar nie sehe, wenn man mir PNs schreibt, bitte über Skype melden, wenn es ein Anliegen gibt!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von brain_surgery: 24.04.2011 15:50.
|
|
23.04.2011 21:01 |
|
|
|
Impressum
|