Cara menambah data ke pangkalan data thinkphp: 1. Tambah sekeping data melalui kaedah sisipan 2. Gunakan kaedah data bersama sisipan untuk menambah sekeping data; data ke kaedah insertAll kelas Db.
Persekitaran pengendalian artikel ini: sistem Windows 7, versi thinkphp v5.1, komputer Dell G3.
Bagaimana untuk menambah data ke pangkalan data thinkphp?
Tambah sekeping data
Gunakan kaedah sisipan Db kelas untuk menyerahkan data ke pangkalan data
$data = ['foo' => 'bar', 'bar' => 'foo']; Db::name('user')->insert($data);
Kaedah sisipan berjaya mengembalikan bilangan data yang berjaya ditambahkan Biasanya, ia mengembalikan 1
atau menggunakan kaedah data bersama-sama dengan sisipan.
$data = ['foo' => 'bar', 'bar' => 'foo']; Db::name('user') ->data($data) ->insert();
Jika tiada medan foo atau bar dalam jadual data anda, pengecualian akan dilemparkan.
Jika anda tidak mahu membuang pengecualian, anda boleh menggunakan kaedah berikut:
$data = ['foo' => 'bar', 'bar' => 'foo']; Db::name('user')->strict(false)->insert($data);
Nilai medan yang tidak wujud akan dibuang terus.
Jika ia adalah pangkalan data mysql, gantikan penulisan disokong, contohnya:
$data = ['foo' => 'bar', 'bar' => 'foo']; Db::name('user')->insert($data, true);
Selepas menambah data, jika anda perlu mengembalikan kunci utama data baharu yang ditambah secara automatik, anda boleh menggunakan kaedah insertGetId untuk menambah data dan mengembalikannya Nilai kunci utama:
$userId = Db::name('user')->insertGetId($data);
kaedah insertGetId berjaya menambah data dan mengembalikan kunci utama yang ditambah secara automatik bagi data yang ditambah
Tambah berbilang keping data
Tambah berbilang keping Data yang akan ditambah boleh dihantar terus ke insertAll kaedah kelas Db
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data);
Kaedah insertAll berjaya menambah data dan mengembalikan bilangan item yang berjaya ditambah
Jika ia adalah pangkalan data mysql, gantikan penulisan disokong Input, contohnya:
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data, true);
Anda juga boleh menggunakan kaedah data
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->data($data)->insertAll();
untuk memastikan bahawa medan data yang akan ditambah dalam kelompok adalah konsisten
Jika terdapat banyak data untuk dimasukkan dalam kelompok , anda boleh menentukan sisipan kelompok dan menggunakan kaedah had untuk menentukan had kuantiti bagi setiap sisipan.
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ... ]; // 分批写入 每次最多100条数据 Db::name('user')->data($data)->limit(100)->insertAll();
Pembelajaran yang disyorkan: "10 tutorial video thinkphp terkini"
Atas ialah kandungan terperinci Bagaimana untuk menambah data ke pangkalan data thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!