Frage zu mysql_fetch_assoc()

maczack

Grünschnabel
Hallo,

ich habe ein Problem und zwar mit der Funktion mysql_fetch_assoc(). Wen ich nämlich diese Funktion bei mir einbaue kommt immer folgende Fehlermeldung:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in ...

Bei der Funktion mysql_fetch_array() kommt übrigens das gleiche heraus. Kann es sein, dass das am Server liegt? Ich benutze evanzo.

Meine Frage nun, wie ich es trotzdem hinbekomme, eine Abfrage bei mir einzubauen, bzw. wie ich das Problem gefixt bekomme.

Viele Grüße
maczack
 
Am Server liegt es mit Sicherheit nicht. Kann es sein, dass du den MySQL-Code (z.B. "SELECT X FROM Y") als Parameter anstatt des Results übergeben hast?

mysql_fetch_assoc() erwartet als Parameter das Result einer MySQL-Abfrage:
PHP:
<?php
   $sql = "SELECT X FROM Y";
   $result = mysql_query($sql) OR die(mysql_error());
   $row = mysql_fetch_assoc($result);
?>
 
hm. ich würde dies empfehlen:

PHP:
<?php 
   $sql = "SELECT * FROM tabelle"; 
   $result = mysql_query($sql) OR die(mysql_error()); 
   $row = mysql_fetch_assoc($result,MYSQL_ASSOC); 
?>

Es gibt verschiedene Versionen. Welche dir am bessten passt, testest du am bessten durch. Hier die 3 Möglichkeiten:

MYSQL_ASSOC
MYSQL_NUM
MYSQL_BOTH
 
xloouch hat gesagt.:
hm. ich würde dies empfehlen:

PHP:
<?php 
   $sql = "SELECT * FROM tabelle"; 
   $result = mysql_query($sql) OR die(mysql_error()); 
   $row = mysql_fetch_assoc($result,MYSQL_ASSOC); 
?>

Es gibt verschiedene Versionen. Welche dir am bessten passt, testest du am bessten durch. Hier die 3 Möglichkeiten:

MYSQL_ASSOC
MYSQL_NUM
MYSQL_BOTH


Im Manuel steht nix von diesen Konstanten.
array mysql_fetch_assoc ( resource Ergebnis)
Ich frage mich auch, wieso man das angeben sollte, wenn fetch_assoc doch extra für assoziative Arrays gedacht ist?
 
ok. ist auch ein freiwilliger zusatz..

in meinem schlauen büchlein für php (PHP4 Grundlagen und Profiwissen von Jörg Krause) sind einfach diese 3 zusätzlich angegeben. Ich verwende es jedenfalls immer mit der angabe.. standart ist MYSQL_BOTH.
 
Dieser "Zusatz" betrifft mysql_fetch_array()...nicht mysql_fetch_assoc()

Jörg Krause@mysql_fetch_array() hat gesagt.:
Alternativ können Sie ab PHP4 mysql_fetch_assoc() verwenden.
Die Funktion entspricht mysql_fetch_array() mit dem zusätzlichen Parameter MYSQL_ASSOC
 
Zurück