2017-01-17 5 views
-1

Ich versuche, diese Abfrage ArbeitAuswählen von denen mehrere Bedingungen erfüllen SafeMysql

$key = $db->getAll("SELECT `key` 
        FROM `".PREFIX."user_stats` 
        WHERE `article_id` = ?i 
        AND `domain` = ?s 
        AND `userid` = ?i", 
       $article_id, $domain,$userid); 

i SafeMySql verwenden zu machen und getAll ist Helper-Funktion, um alle Zeilen des Suchresultates zu erhalten direkt aus der Abfrage und optionale Argumente

Ich möchte den Schlüssel wiederholen, wobei 3 andere Spalten mit der Eingabe übereinstimmen.

mit der obigen Abfrage bekomme ich Ausgabe "Array" nichts anderes.

+0

wahrscheinlich Sie brauchen nicht getAll(), aber eine andere Methode. Was wird erwartet? –

+0

@Ihr Common Sense, versuchte ich mit getRow, die einzelne Zeile auswählen, aber nicht funktioniert hat, genaue Ausgabe ist nur "Array" wie folgt http://prntscr.com/dwuij1 Leider gibt es nichts im Fehlerprotokoll – Hifi

+0

mit getOne versuchen(). Sie sollten die Methode verwenden, die Daten im erwarteten Format –

Antwort

-1

Die Struktur des Objekts $ Schlüssel aus der Datenbank zurückgegeben, die Sie in den Kommentaren gaben ist:

array(1) { [0]=> object(stdClass)#1743 (1) { ["keyy"]=> string(6) "rKSpxf" } } 

Dies ist ein Array mit einem einzelnen Elemente bei Index 0. Dieses Element ist ein Objekt mit einem einzelne Eigenschaft "keyy".

daher auf die Daten zuzugreifen und gibt es, Sie schreiben müssen:

echo $key[0]->keyy; 

Die [0] verweist auf den ersten Index des Arrays, und die ->keyy verweist auf die „Keyy“ Eigenschaft des Objekts in diesem Index .

Um klarer zu machen, was los ist, könnte man es so schreiben Langschrift:

$obj = $key[0]; //get the object out of the array 
$prop = $obj->keyy; //get the property out of the object 
echo $prop; //output the value of the property 
+0

Das löste das Problem, Danke. – Hifi

Verwandte Themen