Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah anda menyimpan dan mendapatkan semula tatasusunan PHP dalam medan MySQL dengan berkesan?
Menyimpan dan Mendapatkan Kembali Tatasusunan PHP dalam MySQL
Soalan:
Bagaimana anda boleh menyimpan dan mendapatkan semula tatasusunan data dalam satu medan MySQL?
Jawapan:
Menyimpan Data Tatasusunan:
Menyimpan tatasusunan dalam satu medan MySQL adalah tidak digalakkan, kerana ia menjejaskan integriti data hubungan. Adalah disyorkan untuk melaraskan skema anda untuk menampung data tatasusunan.
Menggunakan Pensiri dan Nyahsiri:
Jika anda mesti menyimpan tatasusunan dalam satu medan, anda boleh menggunakan fungsi serialize() dan unserialize(). Walau bagaimanapun, pendekatan ini mengehadkan keupayaan anda untuk melakukan pertanyaan langsung pada tatasusunan yang disimpan.
Pengekodan dan Penyahkodan JSON:
Sebagai alternatif, anda boleh mempertimbangkan untuk menggunakan json_encode() dan json_decode () untuk menyimpan dan mendapatkan semula data tatasusunan. Kaedah ini membenarkan data berformat JSON disimpan dalam medan teks dan ditukarkan kembali kepada format tatasusunan.
Contoh untuk Pengubahsuaian Skema Hubungan:
Pertimbangkan perkara berikut tatasusunan:
$a = [ 1 => ['a' => 1, 'b' => 2, 'c' => 3], 2 => ['a' => 1, 'b' => 2, 'c' => 3], ];
Untuk menyimpan tatasusunan ini dalam pangkalan data hubungan, anda boleh mencipta jadual dengan struktur berikut:
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) );
Contoh untuk Pensirian dan Penyahsiran:
<code class="php">function saveArray($array) { $serializedArray = serialize($array); $query = "INSERT INTO test_table (data) VALUES ('$serializedArray')"; // Execute the query and save the array } function getArray() { $query = "SELECT data FROM test_table"; // Execute the query $serializedArray = mysql_fetch_row($result)[0]; $unserializedArray = unserialize($serializedArray); return $unserializedArray; }</code>
Contoh untuk Pengekodan dan Penyahkodan JSON:
<code class="php">function saveArrayJSON($array) { $jsonEncodedArray = json_encode($array); $query = "INSERT INTO test_table (data) VALUES ('$jsonEncodedArray')"; // Execute the query and save the array } function getArrayJSON() { $query = "SELECT data FROM test_table"; // Execute the query $jsonEncodedArray = mysql_fetch_row($result)[0]; $decodedArray = json_decode($jsonEncodedArray, true); return $decodedArray; }</code>
Atas ialah kandungan terperinci Bagaimanakah anda menyimpan dan mendapatkan semula tatasusunan PHP dalam medan MySQL dengan berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!