Masukkan beberapa baris ke tabel mysql menggunakan array php


Masukkan Banyak Catatan ke MySQL Menggunakan MySQLi dan PDO

Beberapa pernyataan SQL harus dijalankan dengan fungsi mysqli_multi_query()

Contoh berikut menambahkan tiga catatan baru ke tabel "MyGuests".

Contoh (berorientasi Objek MySQLi)

$namaserver = "localhost";
$namapengguna = "namapengguna";
$sandi = "sandi";
$namadb = "myDB";

// Buat koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Periksa koneksi
if ($conn->connect_error) {
die("Koneksi gagal. ". $conn->connect_error);
}

$sql = "INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('John', 'Doe', 'john@example. com');";
$sql. = "INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('Mary', 'Moe', 'mary@example. com');";
$sql. = "INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('Julie', 'Dooley', 'julie@example. com')";

if ($conn->multi_query($sql) === TRUE) {
echo "Rekor baru berhasil dibuat";
} kalau tidak {
gema "Kesalahan. ". $sql. "
". $koneksi->kesalahan;
}

$koneksi->tutup();
?>


Perhatikan bahwa setiap pernyataan SQL harus dipisahkan dengan titik koma



Contoh (Prosedur MySQLi)

$namaserver = "localhost";
$namapengguna = "namapengguna";
$sandi = "sandi";
$namadb = "myDB";

// Buat koneksi
$koneksi = mysqli_connect($namaserver, $namapengguna, $sandi, $namadb);
// Periksa koneksi
jika (. $conn) {
die("Koneksi gagal. ". mysqli_connect_error());
}

$sql = "INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('John', 'Doe', 'john@example. com');";
$sql. = "INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('Mary', 'Moe', 'mary@example. com');";
$sql. = "INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('Julie', 'Dooley', 'julie@example. com')";

if (mysqli_multi_query($koneksi, $sql)) {
echo "Rekor baru berhasil dibuat";
} kalau tidak {
gema "Kesalahan. ". $sql. "
". mysqli_error($koneksi);
}

mysqli_close($koneksi);
?>


Cara PDO sedikit berbeda

Contoh (PDO)

$namaserver = "localhost";
$namapengguna = "namapengguna";
$sandi = "sandi";
$dbname = "myDBPDO";

mencoba {
$conn = new PDO("mysql. host=$servername;dbname=$dbname", $username, $password);
// setel mode kesalahan PDO ke pengecualian
$conn->setAttribute(PDO. ATTR_ERRMODE, PDO. ERRMODE_EXCEPTION);

// memulai transaksi
$conn->beginTransaction();
// pernyataan SQL kita
$conn->exec("INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('John', 'Doe', 'john@example. com')");
$conn->exec("INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('Mary', 'Moe', 'mary@example. com')");
$conn->exec("INSERT INTO MyGuests (nama depan, nama belakang, email)
NILAI ('Julie', 'Dooley', 'julie@example. com')");

// melakukan transaksi
$koneksi->komit();
echo "Rekor baru berhasil dibuat";
} catch(PDOException $e) {
// putar kembali transaksi jika sesuatu gagal
$conn->kembalikan();
gema "Kesalahan. ". $e->getMessage();
}

$sambungan = null;
?>


Dalam tutorial ini saya akan menunjukkan kepada Anda, Cara memasukkan banyak baris secara produktif ke dalam tabel dengan SQL Query tunggal menggunakan Iterator PHP

 'this is test post 1','description' => 'this is test post description 1'),
			  array('name' => 'this is test post 1','description' => 'this is test post description 1'),
			  array('name' => 'this is test post 1','description' => 'this is test post description 1'),
			  array('name' => 'this is test post 1','description' => 'this is test post description 1'),
            );

    // begin the sql statement
    $sql = "INSERT INTO test_table (name, description ) VALUES ";
	
    $total = count($array);
	
    // this is where the magic happens
    $it = new ArrayIterator( $array );
	
	// Iterate over the values in the ArrayObject:
	while($it->valid()){
		$currentItem = $it->current();
		$sql .='('.$currentItem['name'].','.$currentItem['description'].')';
		$it->next();
		$sql .= $it->key() ? ',' : ';';
	}
	// now we can use a single database connection and query
    $conn = mysql_connect('db_host','db_user', 'db_password' );
    mysql_select_db( 'test_db', $conn );
    mysql_query( $sql, $conn ); 

?>

Saya harap Anda menyukai Posting ini, Silakan berkomentar di bawah ini, saran dan masalah Anda jika Anda hadapi - kami di sini untuk menyelesaikan masalah Anda

Terkait

Versi array implode() selalu mengkonsumsi sekitar 10 kali lebih banyak sumber daya. Tapi keduanya mencapai hal yang persis sama

Saya mungkin salah, karena saya HANYA menggunakan "Windows Task Manager" (Ctrl + Alt + Delete) untuk memantau penggunaan memori

Bagaimana cara memasukkan banyak baris menggunakan array di PHP?

Cara tercepat dan paling hemat memori untuk membuat string besar, seperti menyisipkan ratusan baris sekaligus, adalah dengan memanfaatkan fungsi implode() dan penetapan larik . $sql = larik(); . mysql_real_escape_string($baris['teks']). . $sql = array(); foreach( $data as $row ) { $sql[] = '("'. mysql_real_escape_string($row['text']).

Bagaimana cara memasukkan banyak baris di MySQL menggunakan PHP?

Untuk menyisipkan beberapa baris baru ke dalam basis data secara bersamaan, Anda harus mengikuti 3 langkah berikut. .
Mulai transaksi (nonaktifkan mode komitmen otomatis)
Siapkan pernyataan INSERT
Jalankan berkali-kali

Bagaimana cara memasukkan banyak baris dalam SQL menggunakan array?

Anda dapat menggunakan bentuk pernyataan INSERT atau pernyataan MERGE untuk menyisipkan banyak baris dari nilai yang disediakan dalam larik variabel host. Setiap larik berisi nilai untuk kolom tabel target.

Bagaimana cara memasukkan banyak catatan ke dalam tabel di MySQL?

MySQL Sisipkan Beberapa Baris .
Pertama, tentukan nama tabel yang ingin disisipkan setelah kata kunci INSERT INTO
Kedua, tentukan daftar kolom yang dipisahkan koma di dalam tanda kurung setelah nama tabel
Ketiga, tentukan daftar data baris yang dipisahkan koma dalam klausa VALUES. Setiap elemen dari daftar mewakili satu baris

Bagaimana cara memasukkan banyak baris dalam SQL menggunakan for loop di PHP?

cobalah kode sederhana ini yang akan bekerja untuk Anda. ? php for($i=0;$i