Masukkan data ke dalam database, berdasarkan nilai variabel dari objek saat ini dan kembalikan ID elemen yang dimasukkan jika urutan atau kunci utama digunakan. Nilai dikutip dengan benar, dan beberapa pemeriksaan tipe terbatas dilakukan
Dengan mysql, metode mysql_next_id() digunakan, pada database lain, metode urutan PEAR DB digunakan
Perhatikan, insert() mungkin tidak mengembalikan ID dengan benar dalam beberapa situasi
- Jika backend database tidak mendukungnya
- Generator tidak menandai kolom yang benar dengan benar sebagai peningkatan otomatis/berikutnya
- Terjadi kesalahan (aktifkan debugging untuk melihatnya)
- Sisipan gagal atau baris '0' jika terpengaruh
Kemungkinan nilai PEAR_ErrorKode kesalahanPesan kesalahanMeaningSolutionDB_DATAOBJECT_ERROR_INVALIDCONFIG"masukkan. Tidak ada definisi tabel untuk $table"DB_DATAOBJECT_ERROR_NODATA"insert. Tidak ada Data yang ditentukan untuk kueri"DB_**lihat PEAR. Lihat PEAR. DB
Di bab sebelumnya kita membuat tabel kosong bernama "MyGuests" dengan lima kolom. "id", "nama depan", "nama belakang", "email" dan "tanggal_reg". Sekarang, mari kita isi tabel dengan data
Catatan. Jika sebuah kolom adalah AUTO_INCREMENT (seperti kolom "id") atau TIMESTAMP dengan pembaruan default current_timesamp (seperti kolom "reg_date"), tidak perlu ditentukan dalam kueri SQL;
Sekarang Anda telah memahami cara membuat database dan tabel di MySQL. Dalam tutorial ini Anda akan mempelajari cara mengeksekusi kueri SQL untuk menyisipkan record ke dalam tabel
Pernyataan connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>0 digunakan untuk menyisipkan baris baru dalam tabel database
Mari kita buat kueri SQL menggunakan pernyataan connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>0 dengan nilai yang sesuai, setelah itu kita akan mengeksekusi kueri penyisipan ini dengan meneruskannya ke fungsi PHP connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>2 untuk memasukkan data ke dalam tabel. Berikut adalah contoh, yang menyisipkan baris baru ke tabel orang dengan menentukan nilai untuk field first_name, last_name dan email
Contoh
PDO Berorientasi Objek Prosedural
UnduhJika Anda ingat dari bab sebelumnya, bidang id ditandai dengan bendera connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>3. Pengubah ini memberi tahu MySQL untuk secara otomatis menetapkan nilai ke bidang ini jika dibiarkan tidak ditentukan, dengan menambah nilai sebelumnya sebesar 1
Memasukkan Banyak Baris ke dalam Tabel
Anda juga dapat menyisipkan beberapa baris ke dalam tabel dengan satu kueri penyisipan sekaligus. Untuk melakukan ini, sertakan beberapa daftar nilai kolom dalam pernyataan connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>0, di mana nilai kolom untuk setiap baris harus diapit dalam tanda kurung dan dipisahkan dengan koma
Mari masukkan beberapa baris lagi ke tabel orang, seperti ini
Contoh
PDO Berorientasi Objek Prosedural
Unduhconnect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('John', 'Rambo', 'johnrambo@mail.com'), ('Clark', 'Kent', 'clarkkent@mail.com'), ('John', 'Carter', 'johncarter@mail.com'), ('Harry', 'Potter', 'harrypotter@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("ERROR: Could not connect. " . $e->getMessage()); } // Attempt insert query execution try{ $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('John', 'Rambo', 'johnrambo@mail.com'), ('Clark', 'Kent', 'clarkkent@mail.com'), ('John', 'Carter', 'johncarter@mail.com'), ('Harry', 'Potter', 'harrypotter@mail.com')"; $pdo->exec($sql); echo "Records inserted successfully."; } catch(PDOException $e){ die("ERROR: Could not able to execute $sql. " . $e->getMessage()); } // Close connection unset($pdo); ?>Sekarang, buka phpMyAdmin (connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>5) dan periksa data tabel orang di dalam basis data demo. Anda akan menemukan nilai untuk kolom id diberikan secara otomatis dengan menambah nilai id sebelumnya dengan 1
Catatan. Sejumlah jeda baris dapat terjadi dalam pernyataan SQL, asalkan jeda baris apa pun tidak memutus kata kunci, nilai, ekspresi, dll.
Masukkan Data ke dalam Database dari Formulir HTML
Pada bagian sebelumnya, kita telah mempelajari cara memasukkan data ke dalam database dari skrip PHP. Sekarang, kita akan melihat bagaimana kita dapat memasukkan data ke dalam database yang diperoleh dari form HTML. Mari buat form HTML yang dapat digunakan untuk menyisipkan record baru ke tabel orang
Langkah 1. Membuat Formulir HTML
Berikut adalah formulir HTML sederhana yang memiliki tiga bidang teks connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>6 dan tombol kirim
Add Record Form
First Name:
Last Name:
Email Address:
Langkah 2. Mengambil dan Memasukkan Form Data
Saat pengguna mengklik tombol kirim formulir tambahkan catatan HTML, pada contoh di atas, data formulir dikirim ke 'masukkan. php'. Sisipan '. php' terhubung ke server database MySQL, mengambil bidang formulir menggunakan variabel PHP connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>7 dan akhirnya menjalankan kueri penyisipan untuk menambahkan catatan. Ini adalah kode lengkap dari 'insert. php'
Contoh
PDO Berorientasi Objek Prosedural
Unduhconnect_error); } // Escape user inputs for security $first_name = $mysqli->real_escape_string($_REQUEST['first_name']); $last_name = $mysqli->real_escape_string($_REQUEST['last_name']); $email = $mysqli->real_escape_string($_REQUEST['email']); // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('$first_name', '$last_name', '$email')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("ERROR: Could not connect. " . $e->getMessage()); } // Attempt insert query execution try{ // Create prepared statement $sql = "INSERT INTO persons (first_name, last_name, email) VALUES (:first_name, :last_name, :email)"; $stmt = $pdo->prepare($sql); // Bind parameters to statement $stmt->bindParam(':first_name', $_REQUEST['first_name']); $stmt->bindParam(':last_name', $_REQUEST['last_name']); $stmt->bindParam(':email', $_REQUEST['email']); // Execute the prepared statement $stmt->execute(); echo "Records inserted successfully."; } catch(PDOException $e){ die("ERROR: Could not able to execute $sql. " . $e->getMessage()); } // Close connection unset($pdo); ?>Pada bab selanjutnya kita akan memperluas contoh kueri sisipan ini dan melangkah lebih jauh dengan mengimplementasikan pernyataan yang telah disiapkan untuk keamanan dan kinerja yang lebih baik
Catatan. Fungsi connect_error); } // Attempt insert query execution $sql = "INSERT INTO persons (first_name, last_name, email) VALUES ('Peter', 'Parker', 'peterparker@mail.com')"; if($mysqli->query($sql) === true){ echo "Records inserted successfully."; } else{ echo "ERROR: Could not able to execute $sql. " . $mysqli->error; } // Close connection $mysqli->close(); ?>8 lolos dari karakter khusus dalam sebuah string dan membuat string SQL legal untuk memberikan keamanan terhadap injeksi SQL
Ini adalah contoh yang sangat mendasar untuk memasukkan data formulir ke dalam tabel database MySQL. Anda dapat memperluas contoh ini dan membuatnya lebih interaktif dengan menambahkan validasi ke input pengguna sebelum memasukkannya ke tabel database. Silakan lihat tutorial tentang validasi formulir PHP untuk mempelajari lebih lanjut tentang membersihkan dan memvalidasi input pengguna menggunakan PHP
Bagaimana cara memasukkan nilai variabel dalam database di PHP?
Bagaimana cara memasukkan data ke dalam database?
Bagaimana cara mengirimkan variabel dalam kueri SQL di PHP?
Bagaimana cara memasukkan nilai tanggal ke dalam database di PHP MySQL?
"; $date=strtotime("next Sunday"); echo date("Y-m-d h:i:sa", $date) . "
"; $date=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $date) .