Warum ist es immer so, nachdem du tagelang deinen Kopf geschlagen hast, stellst du eine Frage und 5 Minuten später kommst du mit der Antwort auf dich selbst.
Also hier war meine schöne Erfahrung.
Da in PHP können Sie ein "
//Zeichen verwenden, um eine Textzeichenfolge zu starten, bekam ich mein selbst stecken in der Flip-Flop-Funktion des doppelten Anführungszeichen und Anführungszeichen. Es dämmerte mir, dass die Abfragen, die in einer Multi-Abfrage definiert sind, in doppelte Anführungszeichen eingeschlossen sind.
So Lektion gelernt? Wenn Sie eine Where-Klausel verwenden, die einen String-Wert in einer Multi-Abfrage verwendet, stellen Sie sicher, dass Sie SINGLE QUOTES um den String-Wert verwenden, auf den Sie filtern.
BAD BAD - Das ist, was ich getan habe. Beachten Sie die Anführungszeichen um myvalue und myothervalue. FRECH!
$multiQuery = {
"query1":"select something from something where somecolumn = "myvalue"",
"query2":"select something from something where somecolumn = "myothervalue""
};
gutes Beispiel - Überprüfen Sie nun myvalue und myothervalue.
$multiQuery = {
"query1":"select something from something where somecolumn = 'myvalue'",
"query2":"select something from something where somecolumn = 'myothervalue'"
};
jetzt So kann ich ...
$multiQuery = {
"query1":"select something from something where somecolumn = 'myvalue'",
"query2":"select something from something where somecolumn = 'myothervalue'"
};
$param = array(
'method' => 'fql.multiquery',
'queries' => $multiQuery,
'callback' => '');
$queryresults = $facebook->api($param);
Und wenn einer von euch fragen sich, was die tatsächliche Art der $multiQuery
Variable ist (für Anfänger wie mich), es ist nur ein String-Daten Art. Es ist kein Array, nichts schlauer als Text.
Bitte legen multiquery $ den Wert der einfachen Anführungszeichen. '$ multiquery = '{ " query1 ":" etwas aus etwas auswählen, wo somecolumn = \' myvalue \ '", " query2 ":" etwas aus etwas auswählen where somecolumn = \' myothervalue \ '" }'; ' – qasimzee
falsche Syntax. ersetzen mit [, ] –