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

PHP सरणी को MySQL में सहेजें?

कोई अच्छा नहीं है किसी सरणी को एक ही फ़ील्ड में संग्रहीत करने का तरीका।

आपको अपने संबंधपरक डेटा की जांच करने और अपनी स्कीमा में उचित परिवर्तन करने की आवश्यकता है। इस दृष्टिकोण के संदर्भ के लिए नीचे उदाहरण देखें।

अगर आपको जरूरी सरणी को एक ही फ़ील्ड में सहेजें फिर serialize() और unserialize() कार्य चाल चलेंगे। लेकिन आप वास्तविक सामग्री पर क्वेरी नहीं कर सकते।

क्रमांकन फ़ंक्शन के विकल्प के रूप में json_encode() और json_decode()

निम्नलिखित सरणी पर विचार करें

$a = array(
    1 => array(
        'a' => 1,
        'b' => 2,
        'c' => 3
    ),
    2 => array(
        'a' => 1,
        'b' => 2,
        'c' => 3
    ),
);

इसे डेटाबेस में सेव करने के लिए आपको इस तरह की एक टेबल बनानी होगी

$c = mysql_connect($server, $username, $password);
mysql_select_db('test');
$r = mysql_query(
    'DROP TABLE IF EXISTS test');
$r = mysql_query(
    'CREATE TABLE test (
      id INTEGER UNSIGNED NOT NULL,
      a INTEGER UNSIGNED NOT NULL,
      b INTEGER UNSIGNED NOT NULL,
      c INTEGER UNSIGNED NOT NULL,
      PRIMARY KEY (id)
    )');

रिकॉर्ड के साथ काम करने के लिए आप इस तरह की क्वेरी कर सकते हैं (और हाँ यह एक उदाहरण है, सावधान रहें!)

function getTest() {
    $ret = array();
    $c = connect();
    $query = 'SELECT * FROM test';
    $r = mysql_query($query,$c);
    while ($o = mysql_fetch_array($r,MYSQL_ASSOC)) {
        $ret[array_shift($o)] = $o;
    }
    mysql_close($c);
    return $ret;
}
function putTest($t) {
    $c = connect();
    foreach ($t as $k => $v) {
        $query = "INSERT INTO test (id,".
                implode(',',array_keys($v)).
                ") VALUES ($k,".
                implode(',',$v).
            ")";
        $r = mysql_query($query,$c);
    }
    mysql_close($c);
}

putTest($a);
$b = getTest();

connect() फ़ंक्शन एक mysql कनेक्शन संसाधन देता है

function connect() {
    $c = mysql_connect($server, $username, $password);
    mysql_select_db('test');
    return $c;
}


  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. क्या mysql इंडेक्सिंग के प्रदर्शन की जांच करने का कोई तरीका है

  3. मैसकल:दो तिथियों के बीच सभी डेटा का चयन करें

  4. Mysqli सिंक त्रुटि से कमांड क्यों दे रहा है?

  5. जहां MySQL में पंक्तियों को फ़िल्टर करने के लिए क्लॉज