Cannot use object of type mysqli_result as array, wo ist das Problem?

1 Antwort

Poste den Code am besten mal bei pastebin.com oder so, hier ist der nicht wirklich gut lesbar. Wenn möglich die komplette Datei, damit auch die Zeilennummern passen.

Ein paar kleine Fehler / Probleme fallen allerdings sofort auf:

- Du benutzt Variablen direkt innerhalb von "" Strings, das ist zwar nicht völlig falsch, also zumindest funktioniert es meistens, jedoch ist es unnötige "Zusatzarbeit" für PHP, daher Variablen besser immer so einfügen:

$sql = "SELECT bla FROM blubb WHERE lol = '". $var ."'";

- Den Key eines Arrays solltest du immer in Anführungszeichen setzten, also z.B: so:

$r['gruppeid']

und nicht:

$r[gruppeid]

Letzteres kann zwar auch funktionieren, aber in dem Fall wird gruppeid zunächst als Konstante gewertet und erst wenn diese Konstante nicht existiert wird nach einem Key mit diesem Namen gesucht.

- Auch wenn die betreffende Zeile aktuell nicht ersichtlich ist, die Fehlermeldung bedeutet einfach, dass du direkt auf ein mysqli Ergebnisobjekt zugreifen willst, bevor du "fetch_assoc()" angewandt hast.


// Edit: Der Grund ist wohl, dass du $r doppelt benutzt, du setzt $r innerhalb der Schleife neu und weist dieser Variable eben ein mysqli-Ergebnis zu, später versuchst du dann wieder auf $r[gruppeid] zuzugreifen, was du an der Stelle aber schon überschrieben hast.

LuckyLP 
Fragesteller
 16.12.2016, 18:37

Das ist also der Fehler, danke für die detaillierte Antwort!

0