2016-10-08 7 views
0

このようなSQLの更新クエリがあります。私はこのセット句を変換する必要がSQLアップデートクエリをjsonリクエストに変換する

$setClause = '"itemid" = 2, "itemname" = 'sssd''; 

:私のように個別に設定された句を取得することができ、この文字列化されたクエリから

$query = 'UPDATE "public"."activity" SET "itemid" = 2, "itemname" = 'sssd' WHERE "id" = 19'; 

:私はちょうど$クエリのようなクエリの文字列を持っていることに注意してくださいjson配列に次のようなajaxリクエストで送信します。

{ 
    "itemid": 2, 
    "itemname": "sssd" 
    } 

これまでのところ、私はこれを理解することができませんでした。私は解決策もオンラインで見たが、見つけられなかった。どんなアイデアですか?

+1

クエリをJSONに変換する目的は何ですか?あなたの目標を達成するためには、おそらくあなたがこれ以外のことをやっている可能性があるような質問を読んでください。詳細を教えていただけますか? –

+0

@JohnHalbertもちろん、データベースに直接接続するアプリケーションを、快適なWeb​​サービスを介して動作するように変更しています。私は、SQLクエリが生成され、実行され、私はアプリケーションをWebサービスに接続するためにその部分を使用しようとしているPHPコードを発見した。データベース接続とWebサービスの両方の接続が必要であることに注意してください。また、私は可能な限り既存のコードを変更する予定はありません。 –

+0

私が理解していない場合は、AJAXリクエストから受信したJSONを動的に変更できるように変換したいのですが、修正してください。その場合、SQLインジェクションに注意してください。おそらくPHPのjson_decode()メソッドを見てください。 –

答えて

0

これは私の仕事でした。コメントの中でそれを指摘してくれたJohn Halbertに感謝します。

public function GetJsonFromUpdateSetClause($setClause){ 
     $sc2JSON1 = '{' . str_replace('=', ':', $setClause) . '}'; 
     $sc2JSON2 = str_replace('\'', '\"', $sc2JSON1) ; 
     $sc2JSON3 = stripcslashes($sc2JSON2); 
     return $sc2JSON3; 
    } 
関連する問題