Ada banyak cara untuk memasukkan data ke dalam database MySQL, salah satunya melalui kode PHP. Dengan metode MySQLi dan PDO, pengguna dapat memasukkan data ke dalam database MySQL Show
Tutorial ini akan menunjukkan cara INSERT data ke dalam database MySQL menggunakan skrip PHP Sebelum kita memulai panduan penyisipan PHP MySQL ini, akses panel kontrol hosting web Anda Unduh Glosarium Untuk Pemula Web
Buat Tabel untuk DataLangkah pertama adalah membuat tabel untuk data. Jika Anda sudah membuatnya, gulir ke bawah ke bagian berikutnya. Jika tidak, ikuti langkah-langkah ini
Berikut adalah beberapa penjelasan tentang kolom yang digunakan
Untuk informasi lebih lanjut tentang struktur tabel dan pengaturan yang tersedia, lihat dokumentasi resmi phpMyAdmin Cara Memasukkan Ke Tabel Database MySQLAda dua metode untuk INSERT data ke dalam database MySQL – metode PHP MySQLi dan metode PHP Data Object (PDO) Memasukkan Data Menggunakan Metode MySQLiPertama, buat koneksi ke database. Saat terhubung, lanjutkan dengan kueri INSERT MySQL. Berikut adalah contoh kode PHP lengkap dengan koneksi dasar dan metode penyisipan <?php $servername = "localhost"; $database = "u123456789_mydatabase"; $username = "u123456789_myuser"; $password = "PasSw0rd123@"; // Create a connection $conn = mysqli_connect($servername, $username, $password, $database); // Check the connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; $sql = "INSERT INTO Students (name, lastName, email) VALUES ('Tom', 'Jackson', '[email protected]')"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?> Penting. Jika Anda menyiapkan database untuk penggunaan jarak jauh, hosting tidak akan berada di server yang sama dengan database. Anda harus mengatur akses MySQL jarak jauh terlebih dahulu dan menggunakan alamat servernya, bukan localhost Baris 2-12 dari kode adalah untuk koneksi aktual ke database MySQL. Baris berikut terlihat seperti ini $sql = "INSERT INTO Students (name, lastName, email) VALUES ('Tom', 'Jackson', '[email protected]')";_ INSERT INTO adalah pernyataan yang menambahkan data ke tabel database MySQL yang ditentukan. Pada contoh di atas, kami menambahkan data ke tabel Siswa Di antara tanda kurung, nama kolom tabel menentukan di mana kita ingin menambahkan nilai (nama, nama belakang, email). Skrip akan menambahkan data dalam urutan yang ditentukan. Jika kita menulis (email, lastName, name), skrip akan menambahkan nilai dengan urutan yang salah Bagian selanjutnya adalah pernyataan NILAI. Di sini, kami menentukan nilai di kolom yang dipilih sebelumnya. Contoh kita adalah name = Tom, lastName = Jackson, email = tom@jackson. tld Selain itu, pengguna harus menyetel kueri SQL di antara tanda kutip. Dalam contoh kami, semua yang ditulis dalam tanda kutip setelah $sql = adalah kueri SQL Sementara itu, baris 14-15 kode memeriksa apakah kueri berfungsi dan menampilkan pesan sukses if (mysqli_query($conn, $sql)) { echo "New record created successfully"; Bagian terakhir, baris 16-18, menampilkan pesan berbeda jika kueri gagal. Ini menunjukkan pesan kesalahan SQL sebagai gantinya } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } Memasukkan Data Menggunakan Metode PHP Data Object (PDO).Untuk menggunakan metode ini, buat koneksi database terlebih dahulu dengan membuat objek PDO baru Karena koneksi ke database MySQL adalah objek PDO, Anda harus menggunakan berbagai metode PDO untuk menyiapkan dan menjalankan kueri Metode objek disebut seperti ini $the_Object->the_Method();_ PDO memungkinkan pengguna untuk menyiapkan, mengevaluasi, dan memperbaiki kode SQL sebelum mengeksekusi. Itu dapat mencegah orang jahat melakukan serangan injeksi SQL yang disederhanakan dengan mengetikkan kode SQL ke dalam formulir // Pengguna menulis ini di bidang nama pengguna dari formulir login john"; DROP DATABASE user_table; // The final query becomes this "SELECT * FROM user_table WHERE username = john"; DROP DATABASE user_table; Sebagai kode SQL yang benar secara sintaksis, titik koma membuat DROP DATABASE user_table menjadi kueri SQL baru dan menghapus tabel pengguna. Untungnya, pernyataan yang disiapkan tidak mengizinkan “ dan ; . Dengan demikian, instruksi berbahaya untuk DROP DATABASE tidak akan berfungsi Penting. Anda harus selalu menggunakan pernyataan yang telah disiapkan saat mengirim atau menerima data dari database dengan PDO Untuk menggunakan pernyataan yang telah disiapkan, Anda harus menulis variabel baru yang memanggil metode persiapan() dari objek database. Hasilnya akan terlihat seperti ini <?php $servername = "localhost"; $database = "u123456789_mydatabase"; $username = "u123456789_myuser"; $password = "PasSw0rd123@"; $sql = "mysql:host=$servername;dbname=$database;"; $dsn_Options = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]; // Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object try { $my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options); echo "Connected successfully"; } catch (PDOException $error) { echo 'Connection error: ' . $error->getMessage(); } // Set the variables for the person we want to add to the database $first_Name = "Tom"; $last_Name = "Jackson"; $email = "[email protected]"; // Here we create a variable that calls the prepare() method of the database object // The SQL query you want to run is entered as the parameter, and placeholders are written like this :placeholder_name $my_Insert_Statement = $my_Db_Connection->prepare("INSERT INTO Students (name, lastName, email) VALUES (:first_name, :last_name, :email)"); // Now we tell the script which variable each placeholder actually refers to using the bindParam() method // First parameter is the placeholder in the statement above - the second parameter is a variable that it should refer to $my_Insert_Statement->bindParam(":first_name", $first_Name); $my_Insert_Statement->bindParam(":last_name", $last_Name); $my_Insert_Statement->bindParam(":email", $email); // Execute the query using the data we just defined // The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your own messages here if ($my_Insert_Statement->execute()) { echo "New record created successfully"; } else { echo "Unable to create record"; } // At this point, you can change the data of the variables and execute again to add more data to the database $first_Name = "John"; $last_Name = "Smith"; $email = "[email protected]"; // Execute again now that the variables have changed if ($my_Insert_Statement->execute()) { echo "New record created successfully"; } else { echo "Unable to create record"; }_ Pada baris 24-26, kita menggunakan metode bindParam() dari objek database. Ada juga metode bindValue() , yang bekerja secara berbeda
Perhatikan bahwa kita menggunakan kembali variabel $first_Name dan memberinya nilai baru untuk kedua kalinya. Jika Anda memeriksa database Anda setelah menjalankan skrip ini, Anda memiliki kedua nama yang ditentukan, meskipun variabel $first_Name sama dengan "John" di akhir skrip Metode bindParam menerima parameter berdasarkan referensi, bukan berdasarkan nilai. Pengguna hanya perlu memanggil bindParam satu kali, dan skrip akan memasukkan nilai yang diperbarui ke dalam database Anda dapat membaca lebih lanjut tentang melewatkan parameter di manual PHP Mengonfirmasi KeberhasilanJika kueri yang kami jalankan dan INSERT ke dalam database MySQL berhasil, kami akan melihat pesan berikut Connected Successfully_ New record created successfully Pemecahan Masalah Kesalahan UmumKadang-kadang, catatan baru akan menampilkan kesalahan dengan penyisipan SQL. Untungnya, ada cara untuk memperbaiki kesalahan MySQL ini MySQLi Jika pesan kesalahan MySQLi muncul, kami dapat mencoba berbagai perbaikan Misalnya, jika kami memiliki satu kesalahan sintaksis dalam kode kami, kami akan melihat kesalahan berikut Connect successfully Error: INSERT INTO students {name, lastName, email} VALUES ('Tom', 'Jackson', '[email protected]') You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastName, email} VALUES ('Tom', 'Jackson', '[email protected]')' at line 1"_ Seperti yang Anda lihat, bagian pertama dari kode itu bagus dan skrip berhasil membuat koneksi. Namun, kueri SQL gagal $sql = "INSERT INTO Students (name, lastName, email) VALUES ('Tom', 'Jackson', '[email protected]')";_0 Ini karena kesalahan sintaks menyebabkan skrip gagal. Kesalahannya ada di sini $sql = "INSERT INTO Students (name, lastName, email) VALUES ('Tom', 'Jackson', '[email protected]')";_1 Kami salah menggunakan tanda kurung kurawal alih-alih tanda kurung sederhana, menyebabkan skrip melontarkan kesalahan sintaksis PDO Untuk menerima pesan kesalahan untuk pemecahan masalah, pengguna harus menyetel mode kesalahan untuk menampilkan semua pengecualian. Itulah yang tertulis di baris 12 dari koneksi PDO. Karena semua pengecualian diaktifkan, masalah khusus apa pun akan ditampilkan Pengguna hanya boleh menggunakan semua pengecualian saat mengembangkan skrip. Itu dapat mengekspos database dan nama tabel, yang harus disembunyikan pengguna dari pihak jahat Dalam kasus di atas, di mana kurung kurawal digunakan sebagai pengganti tanda kurung, kesalahannya terlihat seperti ini $sql = "INSERT INTO Students (name, lastName, email) VALUES ('Tom', 'Jackson', '[email protected]')";_2 Masalah Potensial Lainnya
Semua kesalahan itu dapat dengan mudah diperbaiki dengan mengikuti pedoman pesan kesalahan atau memeriksa log kesalahan Pastikan situs web Anda dapat menangani semuanya – mulai dari lalu lintas tinggi hingga waktu pemuatan yang cepat, dan banyak lagi. Beli Hosting Web KesimpulanBahasa pemrograman PHP memungkinkan pengguna untuk dengan mudah menambahkan data database MySQL baru dengan beberapa baris kode Dalam tutorial ini, kami telah menunjukkan cara menggunakan PHP untuk memasukkan data ke dalam database MySQL Anda menggunakan MySQLi dan PDO. Kami juga telah menunjukkan cara memecahkan masalah kesalahan koneksi umum Kami harap tutorial ini bermanfaat bagi Anda. Jika Anda memiliki pertanyaan, beri tahu kami di komentar di bawah Pelajari Lebih Lanjut Tentang PHPCara Install phpBB di Website Anda Penulis Domantas G Domantas memimpin tim konten dan SEO ke depan dengan ide-ide segar dan pendekatan out of the box. Berbekal pengetahuan SEO dan pemasaran yang luas, dia bertujuan untuk menyebarkan berita tentang Hostinger ke seluruh penjuru dunia. Selama waktu luangnya, Domantas suka mengasah keterampilan pengembangan web dan bepergian ke tempat-tempat eksotis Lainnya dari Domantas G Co-penulis Ignas R Ignas sangat puas membantu orang mengatasi masalah teknis yang paling rumit sekalipun. Tujuannya saat ini adalah menulis artikel yang mudah diikuti sehingga masalah ini tidak akan terjadi sama sekali. Di waktu luangnya, Ignas suka bermain video game dan membereskan barang-barang di sekitar rumahnya Bagaimana cara memasukkan data ke dalam dua tabel di MySQL menggunakan PHP?Anda ingin menyisipkan data ke dalam dua tabel menggunakan tabel PHP dan MYSQL. Ya, dimungkinkan melalui proses penyisipan data satu tabel. $query1 = "INSERT INTO table1. "; $query2 = "MASUKKAN KE TABEL2. "; mysqli_query($query1, $cser); mysqli_query($query2, $cser);
Bagaimana cara memasukkan data ke dalam dua tabel berbeda di MySQL?Tidak, Anda tidak dapat menyisipkan ke beberapa tabel dalam satu perintah MySQL. Namun Anda dapat menggunakan transaksi. . MENYISIPKAN Gunakan bahasa Anda untuk mengambil LAST_INSERT_ID() , baik dengan mengeksekusi pernyataan literal di MySQL, atau menggunakan misalnya mysql_insert_id() php yang melakukannya untuk Anda INSERT [gunakan variabel php Anda di sini] Bagaimana cara memasukkan data ke dalam 2 tabel dalam SQL kueri tunggal?Fungsi T-SQL OUTPUT, yang diperkenalkan pada tahun 2005, dapat digunakan untuk menyisipkan beberapa nilai ke dalam beberapa tabel dalam satu pernyataan . Nilai output dari setiap baris yang merupakan bagian dari operasi INSERT, UPDATE atau DELETE dikembalikan oleh klausa OUTPUT.
Bagaimana cara memasukkan data ke dalam dua tabel secara bersamaan?Anda tidak dapat memasukkan data ke dalam 2 tabel secara bersamaan dalam satu sesi . Tetapi jika Anda membagi pernyataan penyisipan menjadi 2 pernyataan, itu akan memberi Anda efek yang sama. Tapi pastikan untuk menambahkan ORDER by dalam pernyataan SELECT Anda untuk kedua sisipan. |