Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

php mysql के माध्यम से जेसन डेटा को कैसे स्टोर और पढ़ा जाए?

तकनीकी रूप से, आप उसके साथ गलत रास्ते पर जा रहे हैं। 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 में बदलने की अनुमति देगा। मैं मान रहा हूं कि आपकी तालिका में एक आईडी है और आप इसका उपयोग अपडेट या हटाने के लिए करेंगे

जब आप अपना डेटा पुनर्प्राप्त करते हैं, तो आप 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL विदेशी कुंजी NULL को अनुमति देने के लिए?

  2. बिना ओवरकिल के mysql स्कीमाटा को वर्जनिंग के साथ शुरू करना। अच्छे उपाय?

  3. MySQL त्रुटि 1215:विदेशी कुंजी बाधा नहीं जोड़ सकता

  4. MySQL स्टोर Enums कैसे करता है?

  5. MySQL:एक सूची के साथ एक चर सेट करें