2017-11-08 18 views
0

私はphp firebaseの実装でいくつかの奇妙な問題に遭遇しています。私はktamas77/firebase-phpを使用しています.Jsonの文書を使ってレコードを取りたいと思います。 「:\」ジャック\しかし、それは私がこのFirebaseデータベースとPHP

「{\」user_idを\のように見えるfirebaseデシベルでのフォーマット文字列を参照してください

$success = $firebase->set(1 . '/AwayTeam/' . '123456', $myJSON); 

を経由してJSONドキュメントを挿入しようとするたびに思えます"、\" text \ ":\" Ahoy!\ "}"

ここでは何が欠けていますか?

+0

$ myObj-> last = "Miller"; $ myObj-> name = "John"; $ myObj-> age = 30; $ myObj-> city = "New York"; $ myJSON = json_encode($ myObj); – NoSoup4you

+0

申し訳ありませんが、以前のより多くの情報を削除し、firebase-phpライブラリのソースコードを検索した後で直接答えを投稿しました。 – Mastacheata

答えて

1

firebase-php sourcecodeからわかるように、生のjson文字列をデータベースに入力することはできません。 代わりに、ライブラリは$ dataとして置いたものにjson_encodeを実行します。

あなたはPHP、データベースにオブジェクトを保存したい場合は任意のデコード/エンコードをしないでください。

$success = $firebase->set(1 . '/AwayTeam/' . '123456', $myObj); 

PHPにそれを復号化するために、あなたが持っているだろうと述べたライブラリと生JSONを挿入するために最初にオブジェクト/配列:

$success = $firebase->set(1 . '/AwayTeam/' . '123456', json_decode($myJSON)); 
+0

ありがとう、私はエンコードを使用し、デコードしません... – NoSoup4you

+0

あなたのコメントからの情報で、私はすべてのjson_ *関数を実行しないことをお勧めします。 set関数に渡すことができるPHPオブジェクトがすでにあります。 (つまり、$ myJSONまたはjson_decode($ myJSON)の代わりに$ myObjを渡すだけです) – Mastacheata

+0

私の回答を編集して、あなたの質問コメントのサンプルコードに基づいてそのオプションを表示します。 – Mastacheata