2016-05-19 6 views
-2

Ich habe ein Problem mit diesem Code:SQL-Fehler: Rufen Sie auf eine Elementfunktion fetch_assoc() auf einem Nicht-Objekt

if($sql = $this->database->query("SELECT * FROM warenkorb_artikel WHERE WarenkorbID = '".$erg['WarenkorbID']."'")) 
{ 
    while($erg = $sql->fetch_assoc()) 
    { 
     [...] 
    }      
} 

Ich erhalte die Fehlermeldung:

Fatal error: Call to a member function fetch_assoc() on a non-object in [...] on the lin where the "while($eg = $sql->fetch_assoc())" is.

kann jemand helfen mich?

+1

Ihre Abfrage fehlgeschlagen und Sie müssen herausfinden, warum das ist; Auf Fehler überprüfen –

+0

$ sql-> fetch_assoc ($ sql). Sie haben $ sql verpasst, um die Funktion fetch_assoc zu durchlaufen. –

+0

Ich dachte, die If wäre nicht wahr, wenn die Abfrage fehlschlägt. ? –

Antwort

0

Sie müssen die Dinge auflösen, damit Sie alle Fehler erfassen können, die Sie in einer Abfrage machen, die von der API mysqli zurückgegeben werden.

$sql = "SELECT * 
     FROM warenkorb_artikel 
     WHERE WarenkorbID = '{$erg['WarenkorbID']}'"; 

$result = $this->database->query($sql); 

if ($result === false) { 
    echo $this->database->error; 
    exit; 
} 

// do you really need a while loop, as it look like you might be 
// selecting a row using a unique key? 

while($row = $result->fetch_assoc()){ 
     [...] 
} 
+0

einfach viel zu viele Unbekannte, ich hoffe, das löst es. Siehe meine letzten 2 Kommentare zum OP unter der Frage. Edit: Ich stand lange genug um die Frage herum. Ich hoffe wir sehen einen grünen Ticki! Ciao! –

+0

keine Ahnung. Sie markieren als mysqli und wahrscheinlich mit PDO oder (Himmel verbieten) mysql_, um sich zu verbinden. Es ist die beste 64.000 $ Frage überhaupt. OP antwortet nicht, also versuchen sie es entweder zu beheben oder sind in die lokale Leiste gelaufen. –

+0

Versuch, es zu reparieren ... kein Bier ... -, - fast da –

Verwandte Themen