sql >> データベース >  >> RDS >> Mysql

php mysqlを介してjsonデータを保存および読み取る方法は?

    技術的には、あなたはそれで間違った方向に進んでいます。 MySQLは、各ID/VALUEを個別に保存するために使用されます。コードを変更しないために、最初にソリューションを検討しますが、次にそれを行うための「より良い」方法について説明します。

    まず、JSONをSQLの一部ではなく、変数として作成する必要があります。

    mysql_query("INSERT INTO text (data) VALUES (".mysql_real_escape_string(array(json_encode('id' => $uid, 'value' => 'yes'))).")");>

    代わりに

    mysql_query("INSERT INTO text (data) VALUES (json_encode('id' => $uid, 'value' => yes))");

    この最初の部分では、少なくとも代わりにデータを正しくmysqlに取り込むことができます。 テーブルにIDがあり、それを使用して更新または削除すると想定しています

    データを取得するときに、json_decodeを実行できます $row['data'] 行からデータを取得して操作します。更新するには、次のようにします。

    mysql_query("UPDATE text SET data = "'.mysql_real_escape_string(json_encode($myJsonToBeData)).'" WHERE rowid = '.$myrowid)
    

    さて、これを行う正しい方法について:

    これを行う正しい方法は、次のフィールドをテーブルに含めることです:ID、JSONID、JSONVALUE、代わりにこのSQLを使用します:

    SELECT * FROM text WHERE id = $rowid
    INSERT INTO text VALUES(NULL, $jsonid, $jsonvalue)
    UPDATE text SET jsonid = $jsonid, jsondata = $jsondata
    

    これは非常に基本的なことですが、データベースに検索、インデックス、並べ替え、クエリなどを可能にするエントリをいくつでも含めることができます...



    1. sarの防衛(およびそれを構成する方法)

    2. MySql:「SUMIF」または「COUNTIF」は可能ですか?

    3. JavaはAppengineマネージドVMからクラウドSQL第2世代に接続します

    4. SQLAlchemy:結合で削除する方法