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

क्या मैं गतिशील रूप से JSON से एक mySQL तालिका बना सकता हूं?

एक MySQL तालिका बनाने और किसी भी JSON चर से मान सम्मिलित करने के लिए सरल कोड टुकड़ा। यह एक तेज़ हैक है.. फ़ील्ड प्रकार आदि जांचें :) शायद बेहतर तरीके हैं, लेकिन यह एक काम करता है और मैन्युअल फ़ील्ड-नामकरण में मुझे पहले ही घंटों बचा चुका है

इसे ऑब्जेक्ट्स को संभालने वाली एक संबंध तालिका बनाने के लिए भी संशोधित किया जा सकता है। अब, यह सरणी से बने JSON सामान के लिए बना है, न कि ऑब्जेक्ट यानी सरणियों में सरणियों के लिए।

<?php

    JSON_to_table($place_your_JSON_var_here_please);

            function JSON_to_table($j_obj, $tblName = "New_JSON_table_" . time()){
            $j_obj = json_decode($your_JSON_variable, true);
            if(!mysql_num_rows( mysql_query("SHOW TABLES LIKE '" . $tblName . "'"))){ 
                $cq = "CREATE TABLE ". $tblName ." (
                id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,";
                foreach($j_obj as $j_arr_key => $value){
                    $cq .= $j_arr_key . " VARCHAR(256),";
                }
                $cq = substr_replace($cq,"",-1);
                $cq .= ")";
                mysql_query($cq) or die(mysql_error());
            }

            $qi = "INSERT INTO $tblName (";
            reset($j_obj);
                foreach($j_obj as $j_arr_key => $value){
                    $qi .= $j_arr_key . ",";
                }
                $qi = substr_replace($qi,"",-1);
            $qi .= ") VALUES (";
            reset($j_obj);
                foreach($j_obj as $j_arr_key => $value){
                    $qi .= "'" . mysql_real_escape_string($value) . "',";
                }
            $qi = substr_replace($qi,"",-1);
            $qi .= ")";
            $result = mysql_query($qi) or die(mysql_error());

        return true;
            }
?>


  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 कार्यक्षेत्र क्या है?

  2. php और mysql का उपयोग करके डेटाबेस में एकाधिक चेकबॉक्स मान संग्रहीत करें

  3. रेल में सक्रिय रिकॉर्ड का उपयोग करते समय रूबी रेगेक्स कैसे निर्दिष्ट करें?

  4. MYSQL - एकाधिक तालिका के संदर्भ में एक स्तंभ

  5. एकाधिक तालिकाओं के साथ MySQL क्वेरी