Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyimpan tatasusunan ke dalam pangkalan data dalam php

Bagaimana untuk menyimpan tatasusunan ke dalam pangkalan data dalam php

PHPz
PHPzasal
2023-04-23 10:07:441372semak imbas

Apabila menggunakan PHP untuk pembangunan web, biasanya kita perlu menyimpan beberapa data dalam pangkalan data untuk kegunaan seterusnya. Jenis data yang paling biasa digunakan ialah tatasusunan.

Seterusnya, mari kita terokai cara menyimpan tatasusunan ke dalam pangkalan data.

  1. Sediakan pangkalan data

Pertama, kita perlu mencipta jadual untuk menyimpan data tatasusunan kita. Mengambil MySQL sebagai contoh, terdapat langkah berikut:

1) Cipta pangkalan data, seperti test.

2) Buat jadual di bawah pangkalan data, seperti array_data, untuk menyimpan data tatasusunan kami. Pernyataan SQL berikut boleh digunakan:

CREATE TABLE `array_data` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `data` text NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Jadual mengandungi dua medan, iaitu id dan data. Antaranya, id ialah kunci utama, digunakan untuk mengenal pasti secara unik sekeping data; medan data digunakan untuk menyimpan data tatasusunan yang ingin kami simpan.

  1. Tukar tatasusunan kepada rentetan

Sebelum menyimpan tatasusunan dalam pangkalan data, kita perlu menukarnya kepada rentetan. Kerana hanya data jenis rentetan boleh disimpan dalam pangkalan data. Untuk menukar tatasusunan kepada rentetan, anda boleh menggunakan fungsi serialize() yang disediakan oleh PHP.

Sebagai contoh, kami mempunyai data tatasusunan berikut:

$data = [
    'name' => 'Tom',
    'age' => 25,
    'gender' => 'male'
];

Anda boleh menggunakan fungsi serialize() untuk menukarnya menjadi rentetan:

$data_str = serialize($data);

Di kali ini, $data_str Nilainya ialah:

a:3:{s:4:"name";s:3:"Tom";s:3:"age";i:25;s:6:"gender";s:4:"male";}
  1. Tulis data ke pangkalan data

Menyimpan rentetan ke dalam pangkalan data adalah sangat mudah. Kita boleh menggunakan sambungan PDO PHP untuk menyambung ke pangkalan data dan kemudian menggunakan pernyataan yang disediakan untuk menulis data ke pangkalan data.

Kod khusus adalah seperti berikut:

try {
    $dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4";
    $username = "root";
    $password = "";

    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $data = [
        'name' => 'Tom',
        'age' => 25,
        'gender' => 'male'
    ];
    $data_str = serialize($data);

    $stmt = $pdo->prepare("INSERT INTO array_data (data) VALUES (?)");
    $stmt->bindParam(1, $data_str);
    $stmt->execute();
} catch (PDOException $e) {
    echo $e->getMessage();
}

Dalam kod di atas, kita mula-mula mencipta objek PDO, dan kemudian menggunakan fungsi prepare() untuk mencipta pernyataan yang disediakan. Antaranya, ? menunjukkan bahawa kedudukan semasa memerlukan parameter, dan kami menghantar rentetan untuk disimpan sebagai parameter. Akhir sekali, gunakan fungsi execute() untuk melaksanakan pernyataan yang disediakan.

  1. Baca data tatasusunan daripada pangkalan data

Apabila kita perlu membaca data tatasusunan dalam pangkalan data, mula-mula kita boleh membaca rentetan yang disimpan daripada pangkalan data, dan kemudian Gunakan fungsi unserialize() untuk menukarnya kepada tatasusunan.

Kod khusus adalah seperti berikut:

try {
    $dsn = "mysql:host=localhost;dbname=test;charset=utf8mb4";
    $username = "root";
    $password = "";

    $pdo = new PDO($dsn, $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $stmt = $pdo->query("SELECT data FROM array_data WHERE id = 1");
    $data_str = $stmt->fetchColumn();

    $data = unserialize($data_str);

    print_r($data);
} catch (PDOException $e) {
    echo $e->getMessage();
}

Dalam kod di atas, kami menggunakan fungsi query() untuk melaksanakan pernyataan SQL dan menggunakan fungsi fetchColumn() untuk mendapatkan semula lajur pertama data daripada set hasil, iaitu A rentetan yang memegang data tatasusunan kami. Kemudian, gunakan fungsi unserialize() untuk menukarnya kepada jenis tatasusunan.

Akhir sekali, gunakan fungsi print_r() untuk mengeluarkan data tatasusunan.

Ringkasan

Dalam program PHP, menyimpan tatasusunan ke dalam pangkalan data biasanya dibahagikan kepada langkah berikut:

  1. Sediakan pangkalan data dan cipta jadual jenis teks medan .
  2. Tukar tatasusunan kepada rentetan.
  3. Simpan rentetan ke dalam pangkalan data.
  4. Baca rentetan daripada pangkalan data dan tukarkannya kepada tatasusunan menggunakan fungsi unserialize().

Atas ialah kandungan terperinci Bagaimana untuk menyimpan tatasusunan ke dalam pangkalan data dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn