Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memasukkan array php multi-dimensi ke dalam database mysql

Kode berikut akan berfungsi, tetapi mengasumsikan bahwa panjang semua larik bersarang adalah sama, dengan kata lain bahwa setiap larik bersarang berisi nilai untuk semua atribut yang didefinisikan dalam larik bersarang pertama.

$array = array(
    array('name', 'age', 'gender' ),
    array('Ian', 24, 'male'),
    array('Janice', 21, 'female')
);

$fields = implode(', ', array_shift($array));

$values = array();
foreach ($array as $rowValues) {
    foreach ($rowValues as $key => $rowValue) {
         $rowValues[$key] = mysql_real_escape_string($rowValues[$key]);
    }

    $values[] = "(" . implode(', ', $rowValues) . ")";
}

$query = "INSERT INTO table_name ($fields) VALUES (" . implode (', ', $values) . ")";

Solusi ini akan bekerja dengan sejumlah atribut yang ditentukan dalam larik bersarang pertama, selama semua larik bersarang lainnya memiliki panjang yang sama. Untuk array di atas outputnya adalah:

INSERT INTO table_name (name, age, gender) VALUES (Ian, 24, male), (Janice, 21, female)

Untuk demonstrasi, lihat http://codepad.org/7SG7lHaH , tetapi perhatikan bahwa saya menghapus panggilan ke mysql_real_escape_string() di codepad.org, karena mereka tidak mengizinkan fungsi tersebut. Dalam kode Anda sendiri, Anda harus menggunakannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Serangan SQL Injection - Apa fungsinya?

  2. Pilih record aktif codeigniter, gabung kiri, hitung

  3. tipe data skema sails-mysql

  4. Batas waktu koneksi JDBC tidak dapat terhubung kembali

  5. Berapa panjang string id sesi PHP?