Ini adalah kod untuk memasukkan json dalam sql saya
function insert_ema($json){ $a= new Sql(); $b=$a->connection; $sql = "INSERT INTO ema (ema_ten) VALUES ('$json')"; if ($b->query($sql) === TRUE) { echo PHP_EOL." New record created successfully \n"; } else { echo PHP_EOL." Error: " . $sql . "<br>" . $b->error; } $b->close(); ;} insert_ema('{"firstName":"John", "lastName":"Doe","3":"Jo", "4":"Do"}'); +----------------------------------------------------------------+----+ | ema_ten | id | +----------------------------------------------------------------+----+ | {"3": "Jo", "4": "Do", "lastName": "Doe", "firstName": "John"} | 1 | | {"3": "Jo", "4": "Do", "lastName": "Doe", "firstName": "John"} | 2 | +----------------------------------------------------------------+----+
Sql yang disimpan di atas adalah dalam susunan terbalik! ! Bagaimana saya boleh membetulkannya
Sebab saya ingin berpegang pada perintah itu ialah saya ingin dapat menukar json kepada tatasusunan dan menggunakan pop .
Saya rasa MySQL harus menyimpan tatasusunan dan menyusunnya untuk masalah ini.
https://dev.mysql.com/doc/refman /8.0/en/json.html berkata:
Ini bermakna anda tidak seharusnya bergantung pada sebarang susunan pengisihan khusus kekunci dalam objek JSON. Tatasusunan JSON mempunyai susunan, tetapi kunci objek JSON tidak.
Jika kunci objek JSON dan nilai masing-masing adalah sama, ia adalah sama tanpa mengira susunan:
Balas komen anda:
Maksud contoh di atas ialah anda tidak boleh membuat MySQL menyimpan kunci mengikut susunan yang anda mahu. Pelaksanaan JSON MySQL tidak melakukan ini. Ia menyusun semula kunci objek JSON untuk meningkatkan kecekapan carian. Anda tidak mempunyai suara dalam hal ini.
Tatasusunan JSON boleh diisih. Jadi satu-satunya pilihan untuk mengekalkan susunan ialah menggunakan tatasusunan, di mana setiap elemen tatasusunan ialah objek dengan satu kunci:
Saya tahu ini bukan apa yang anda minta, tetapi apa yang anda minta tidak mungkin dalam MySQL.