2017-10-24 6 views
1

右に挿入するPHPへ(内部のオブジェクトで)、私は内部のオブジェクトを持つ配列を持っており、それは次のようになります。JavaScriptの配列は、データベース

Array with objects

私はそれが中に挿入されたいです私のデータベースは、私のPHPファイルへのAJAX呼び出しを介して。私は、アレイと私は戻って、データベース内の取得結果にJSON.stringfyを試してみました

がある

[{"タスク":"タイヤ"、"ノート":"こんにちは"、"完了":" "真}、{"タスク":"タイヤ"、"ノート":"すべての4つのタイヤがを行う必要があります、"タイヤ":"真"}、{"タスク":、"は"を完了"タイヤ"、"ノート":"すべての4つのタイヤが"を行う必要があるが、"は"を完了:"真"を}、{"タスク" "ノート":"すべての4つのタイヤが"やってする必要が、"が完了し":"真"}]

二重引用符が"に置き換えられました。これが引用符のシンボルだとわかりましたが、引用符を使用したいと思います。

また、配列の送信を試みましたが、データベースは空白に戻ります。

Javascript code

PHP code

これを回避する方法はありますか?

+0

私はあなたが求めているものは得られません。単にデータベースに文字列を格納したいのですか? –

+0

私は問題を抱えていません。データベースに文字列としてjsonを格納し、必要に応じてクライアントに渡すことができます。何をしたいですか ? – RafH

答えて

0

データベースの挿入にPHPデータオブジェクト(PDO)を使用します。注入攻撃を防ぐための準備文を作成することができます。あなたは "safeString"のような関数を必要とせず、あなたが入れたものがあなたが出すものであることを保証することができます。

次のような例があります。パラメータの名前が付いていることが分かり、名前をキーとして配列に値を渡します。

$sql = "UPDATE mutable SET json=:json WHERE id=:id"; 
$statement = $dbh->prepare($sql); 
$statement->execute([":json" => $json, ":id" => $id]); 
$result = $statement->fetchAll(PDO::FETCH_ASSOC); 
0

PHP json_decodeを使用してオブジェクトに変換する必要があります。ただし、StdClassにのみ変換されることに注意してください。あなたはそれを読んで、適切な変換を処理する必要があります。例:

$carChecklist = json_decode($_POST['checklist']); 
echo $carChecklist[0]->tyres; 

「タイヤ」を返す必要があります。