{"id":5838,"date":"2018-05-03T02:18:53","date_gmt":"2018-05-03T02:18:53","guid":{"rendered":"https:\/\/blog.hostinger.io\/co-id-tutorial\/?p=5838"},"modified":"2025-01-08T15:24:20","modified_gmt":"2025-01-08T08:24:20","slug":"cara-input-data-ke-database-dengan-php","status":"publish","type":"post","link":"\/id\/tutorial\/cara-input-data-ke-database-dengan-php","title":{"rendered":"Ingin tahu cara input data ke database dengan PHP? Simak tutorial ini!"},"content":{"rendered":"<p>Tutorial ini akan membahas cara mengelola database dari script&nbsp;<strong>PHP. <\/strong>Di samping itu,&nbsp;Anda juga akan mempelajari cara&nbsp;<strong>INSERT&nbsp;<\/strong>data&nbsp;ke database menggunakan&nbsp;<strong>PHP.<\/strong> Untuk mengitput data ke MySQL database, Anda dapat melakukannya dengan dua metode, yaitu MySQLi dan PDO.<\/p><p>Namun, sebelum melanjutkan tutorial ini, ada baiknya Anda mengakses control panel hosting Anda terlebih dahulu.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Speed-Up-Your-Website-ID.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/public\" alt=\"\" class=\"wp-image-27589\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2022\/11\/eBook-Speed-Up-website-ID.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-nbsp-membuat-tabel-opsional\">&nbsp;Membuat Tabel (Opsional)<\/h2><p>Buatlah tabel terlebih dulu. Langkahnya sendiri sangat mudah. Anda hanya harus menggunakan&nbsp;<strong>phpMyAdmin&nbsp;<\/strong>yang berada di control panel hosting. Karena di tutorial sebelumnya kami telah membahas langkah-langkah untuk membuat database MySQL, maka di tutorial ini tidak akan kami jelaskan lebih lanjut.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"754\" height=\"281\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/database-phpmysql.png\/public\" alt=\"bilah menu database\" class=\"wp-image-10162\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/database-phpmysql.png\/w=754,fit=scale-down 754w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/database-phpmysql.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/database-phpmysql.png\/w=150,fit=scale-down 150w\" sizes=\"(max-width: 754px) 100vw, 754px\" \/><\/figure><\/div><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/03\/hostinger-phpmyadmin-view.png\" alt=\"halaman utama_phpmyadmin\"><\/figure><\/div><p>Setelah masuk ke halaman phpMyAdmin, Anda akan melihat tampilan seperti ini:<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2017\/03\/hostinger-phpmy-admin-create-database.png\" alt=\"phpmyadmin_setup\"><\/figure><\/div><p>Kami akan membuat tabel yang diberi nama&nbsp;<strong>Students&nbsp;<\/strong>untuk database <strong>u266072517_name.&nbsp;<\/strong>Untuk membuat tabel baru, klik tombol&nbsp;<strong>Create Table<\/strong>. Setelah itu, akan muncul halaman baru di mana Anda bisa memasukkan semua informasi yang dibutuhkan ke dalam tabel.<\/p><p>Setup ini merupakan setup yang paling mudah dilakukan jika Anda ingin membuat tabel. Untuk informasi selengkapnya terkait struktur tabel\/database dan tipe pengaturan yang bisa Anda terapkan pada kolom, baca panduan <a href=\"https:\/\/www.phpmyadmin.net\/docs\/\" target=\"_blank\" rel=\"noopener\">phpMyAdmin<\/a>.<\/p><p>Berikut penjelasan mengenai fungsi dari masing-masing kolom yang akan kami gunakan:<\/p><ul class=\"wp-block-list\">\n<li><b>Name&nbsp;<\/b>&ndash; Nama kolom, akan ditampilkan di bagian atas tabel.<\/li>\n\n\n\n<li><strong>Type&nbsp;<\/strong>&ndash; Pilih tipe kolom. Sebagai contoh, kami memilih&nbsp;<strong>varchar&nbsp;<\/strong>karena kami ingin memasukkan tipe string berupa nama (yang tentu saja terdiri atas huruf dan bukannya angka).<\/li>\n\n\n\n<li><strong>Length\/Values&nbsp;<\/strong>&ndash; Untuk menentukan maksimum panjang entry yang boleh Anda buat di kolom.<\/li>\n\n\n\n<li><strong>Index&nbsp;<\/strong>&ndash; Kami menggunakan index &ldquo;Primary&rdquo; untuk kolom &ldquo;ID&rdquo;. Sebaiknya buat satu kolom ID saat membuat tabel. Kolom ini berfungsi untuk menghitung entri tabel dan dibutuhkan apabila Anda hendak mengonfigurasikan hubungan antartabel. Kami juga memberi tanda&nbsp;<strong>&ldquo;A_I&rdquo;<\/strong> yang berarti&nbsp;<strong>Auto Increment<\/strong>. Secara otomatis, kolom akan menghitung entri (1, 2, 3, 4&hellip;).<\/li>\n<\/ul><p>Klik&nbsp;<strong>Save&nbsp;<\/strong>untuk menyimpan tabel yang telah berhasil dibuat.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/id\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29634\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2023\/02\/ID-Web-hosting_in-text-banner.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-menulis-kode-untuk-input-database-dengan-php\">Menulis kode untuk Input Database dengan PHP<\/h2><h3 class=\"wp-block-heading\" id=\"h-metode-mysqli\">Metode <a href=\"https:\/\/www.php.net\/manual\/en\/book.mysqli.php\" target=\"_blank\" rel=\"noopener\">MySQLi<\/a><\/h3><p>Buat koneksi terlebih dulu ke database. Untuk caranya, bisa Anda baca di tutorial kami. Setelah itu, Anda bisa lanjut dengan query SQL&nbsp;<strong>INSERT<\/strong>. Berikut contoh kode dengan koneksi dasar dan metode&nbsp; insertion:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$servername = \"mysql.hostinger.co.uk\";\n$database = \"u266072517_name\";\n$username = \"u266072517_user\";\n$password = \"buystuffpwd\";\n\n\/\/ Create connection\n\n$conn = mysqli_connect($servername, $username, $password, $database);\n\n\/\/ Check connection\n\nif (!$conn) {\n      die(\"Connection failed: \" . mysqli_connect_error());\n}\n \necho \"Connected successfully\";\n \n$sql = \"INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', 'thom.v@some.com')\";\nif (mysqli_query($conn, $sql)) {\n      echo \"New record created successfully\";\n} else {\n      echo \"Error: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\n}\nmysqli_close($conn);\n\n?&gt;<\/pre><p>Bagian pertama kode (<strong>3-18&nbsp;<\/strong>baris) adalah koneksi aktual yang terhubung ke database. Untuk arti dari masing-masing kode, sudah pernah kami bahas sebelumnya. Apabila Anda ingin menggali informasi serupa, bisa merujuk ke artikel kami tentang<a href=\"https:\/\/blog.hostinger.io\/co-id-tutorial\/koneksi-database-php\/\" target=\"_blank\" rel=\"noopener\"> cara terhubung ke database<\/a>.<\/p><p><em>Oke<\/em>, mari kita mulai dari baris kode&nbsp;<strong>19<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$sql = \"INSERT INTO Students (name, lastname, email) VALUES ('Thom', 'Vial', 'thom.v@some.com')\";<\/pre><p>Baris di atas merupakan baris terpenting dalam barisan kode yang kami gunakan. Baris ini bertanggung jawab atas apa pun yang nantinya kita pelajari bersama di tutorial ini &ndash; input database dengan PHP.&nbsp;<strong>INSERT INTO&nbsp;<\/strong>adalah suatu statement yang berfungsi untuk menambahkan data ke dalam tabel database yang telah ditentukan. Misalnya, kami akan menambahkan data ke tabel&nbsp;<strong>Students<\/strong>.<\/p><p>Di dalam tanda kurung, terdapat kolom tabel yang ingin kami tambahkan value-nya:&nbsp;<strong>(name, lastname, email<\/strong><strong>).&nbsp;<\/strong>Data akan ditambahkan sesuai urutan yang telah ditentukan. Jika kami menulis&nbsp;<strong>(email, lastname, name)<\/strong>, maka urutan valuenya akan berubah.<\/p><p>Setelah INSERT INTO, ada statement&nbsp;<strong>VALUES<\/strong>. Di statement ini, kami menyertakan value ke kolom yang telah ditentukan sebelumnya. Dengan demikian, masing-masing kolom merepresentasikan value yang telah dibuat. Sebagai contoh pada kolom yang telah kami buat:&nbsp;<strong>name = Test, lastname = Testing, email = Testing@testing.com<\/strong>.<\/p><p>Hal terpenting lainnya adalah karena kami hanya menjalankan&nbsp;<strong>SQL query&nbsp;<\/strong>dengan menggunakan kode PHP, maka SQL query harus di set di antara quote. Sebagai contoh, apa pun yang diletakkan di antara quote dan setelah $sql = adalah SQL query.<\/p><p>Barisan kode berikutnya (baris&nbsp;<strong>20-22<\/strong>) mengecek apakah query berhasil dijalankan atau tidak:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">if (mysqli_query($conn, $sql)) {\n     echo \"New record created successfully\";\n}<\/pre><p>Barisan kode terakhir (baris&nbsp;<strong>22-24<\/strong>) menampilkan pesan error jika query tidak berhasil dijalankan:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">else {\n     echo \"Error: \" . $sql . \"&lt;br&gt;\" . mysqli_error($conn);\n}<\/pre><h3 class=\"wp-block-heading\" id=\"h-metode-php-data-object-pdo\">Metode <a href=\"https:\/\/www.php.net\/manual\/en\/book.pdo.php\" target=\"_blank\" rel=\"noopener\">PHP Data Object<\/a> (PDO)<\/h3><p>Sama seperti opsi 1, hal yang harus dilakukan terlebih dulu adalah membuat koneksi ke database. Di opsi 2, koneksi tersebut dijalankan dengan membuat PDO object yang baru &ndash; baca <a href=\"https:\/\/blog.hostinger.io\/co-id-tutorial\/koneksi-database-php\/\" target=\"_blank\" rel=\"noopener\">tutorial kami sebelumnya<\/a> untuk informasi lebih lengkap. Karena koneksi ke database MySQL adalah PDO object, maka Anda harus menggunakan berbagai &lsquo;metode&rsquo; PDO (fungsi apa pun yang menjadi bagian dari object mana pun) untuk membuat dan menjalankan query. Metode object akan terlihat seperti ini:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">$the_Object-&gt;the_Method();<\/pre><p>Dengan PDO, Anda dapat &lsquo;membuat&rsquo; kode SQL sebelum dijalankan. SQL diperiksa dan &lsquo;diperbaiki&rsquo; sebelum benar-benar diaktifkan. SQL injection attack yang disederhanakan dapat diaktifkan hanya dengan mengetikkan kode SQL ke field yang ada di form. Misalnya:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\/\/ User writes this in the username field of a login form\njohn\"; DROP DATABASE user_table;\n\n\/\/ The final query becomes this\n\"SELECT * FROM user_table WHERE username = john\"; DROP DATABASE user_table;<\/pre><p>Karena ada kode SQL yang benar secara sintaksis, maka tanda titik koma membuat&nbsp;<strong>DROP DATABASE user_table&nbsp;<\/strong>menjadi SQL query yang baru, dan tabel user Anda dihapus. Prepared statement tidak akan memperbolehkan karakter &rdquo; dan ; menghentikan&nbsp;<em>original query&nbsp;<\/em>dan instruksi gagal&nbsp;<strong>DROP DATABASE&nbsp;<\/strong>tidak akan pernah dijalankan.<br><\/p><p>\n\n\n<div><p class=\"important\">Jika ingin mengirim atau menerima data dari database dengan PDO,&nbsp;<strong>sebaiknya&nbsp;<\/strong>gunakan prepared statement.<\/p><\/div>\n\n\n\n<\/p><p>Untuk menggunakan prepared statement, Anda harus menuliskan variable baru yang memaggil metode&nbsp;<strong>prepare()<\/strong> dari database object.<\/p><p>Apabila kode benar:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;?php\n$servername = \"mysql.hostinger.com\";\n$database = \"u266072517_name\"; \n$username = \"u266072517_user\";\n$password = \"buystuffpwd\";\n$sql = \"mysql:host=$servername;dbname=$database;\";\n$dsn_Options = [PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION];\n\n\/\/ Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object\ntry { \n  $my_Db_Connection = new PDO($sql, $username, $password, $dsn_Options);\n  echo \"Connected successfully\";\n} catch (PDOException $error) {\n  echo 'Connection error: ' . $error-&gt;getMessage();\n}\n\n\/\/ Set the variables for the person we want to add to the database\n$first_Name = \"Thom\";\n$last_Name = \"Vial\";\n$email = \"thom.v@some.com\";\n\n\/\/ Here we create a variable that calls the prepare() method of the database object\n\/\/ The SQL query you want to run is entered as the parameter, and placeholders are written like this :placeholder_name\n$my_Insert_Statement = $my_Db_Connection-&gt;prepare(\"INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)\");\n\n\/\/ Now we tell the script which variable each placeholder actually refers to using the bindParam() method\n\/\/ First parameter is the placeholder in the statement above - the second parameter is a variable that it should refer to\n$my_Insert_Statement-&gt;bindParam(:first_name, $first_Name);\n$my_Insert_Statement-&gt;bindParam(:last_name, $last_Name);\n$my_Insert_Statement-&gt;bindParam(:email, $email);\n\n\/\/ Execute the query using the data we just defined\n\/\/ The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your own messages here\nif ($my_Insert_Statement-&gt;execute()) {\n  echo \"New record created successfully\";\n} else {\n  echo \"Unable to create record\";\n}\n\n\/\/ At this point you can change the data of the variables and execute again to add more data to the database\n$first_Name = \"John\";\n$last_Name = \"Smith\";\n$email = \"john.smith@email.com\";\n$my_Insert_Statement-&gt;execute();\n\n\/\/ Execute again now that the variables have changed\nif ($my_Insert_Statement-&gt;execute()) {\n  echo \"New record created successfully\";\n} else {\n  echo \"Unable to create record\";\n}<\/pre><p>Pada baris 28, 29, dan 30, kami menggunakan&nbsp;metode&nbsp;<strong>bindParam()<\/strong> dari database object. Pun terdapat metode&nbsp;<strong>bindValue()&nbsp;<\/strong>yang benar-benar berbeda.<\/p><ul class=\"wp-block-list\">\n<li><strong>bindParam()&nbsp;<\/strong>&ndash; Metode ini mengevaluasi data pada saat metode&nbsp;<strong>execute()&nbsp;<\/strong>dijalankan. Ketika pertama kali menjalankan metode&nbsp;<strong>execute()<\/strong>, script melihat bahwa&nbsp;<strong>$first_Name&nbsp;<\/strong>berkorespondensi dengan &ldquo;Thom&rdquo;, bind value tersebut, dan menjalankan query. Pada saat menjalankan metode&nbsp;<strong>execute()&nbsp;<\/strong>kedua, script melihat bahwa&nbsp;<strong>$first_Name&nbsp;<\/strong>sekarang berkorespondensi dengan&nbsp; &ldquo;John&rdquo;, bind value tersebut, dan kembali menjalankan query dengan value yang baru. Satu hal yang harus Anda ingat, kami hanya membuat query sekali dan kembali menggunakannya dengan data yang berbeda pada suatu titik yang tak sama dalam script.<\/li>\n\n\n\n<li><strong>bindValue()&nbsp;<\/strong>&ndash; Metode ini mengevaluasi data segera setelah&nbsp;<strong>bindValue()&nbsp;<\/strong>dijalankan. Karena value&nbsp;<strong>$first_Name <\/strong>telah<strong>&nbsp;<\/strong>di-set ke &ldquo;Thom&rdquo; pada saat&nbsp;<strong>bindValue()&nbsp;<\/strong>dijalankan, maka value tersebut akan digunakan setiap kali method&nbsp;<strong>execute()&nbsp;<\/strong>dipanggil untuk&nbsp;<strong>$my_Insert_Statement<\/strong>.<\/li>\n<\/ul><p>Kami menggunakan kembali variabel&nbsp;<strong>$first_Name&nbsp;<\/strong>dan membuat value baru untuk kedua kalinya. Jika Anda mengecek database setelah menjalankan script ini, maka Anda memiliki dua nama yang telah ditentukan, meskipun variabel&nbsp;<strong>$first_Name&nbsp;<\/strong>setara dengan &ldquo;John&rdquo; yang terletak di akhir script. Perlu diingat, PHP mengevaluasi keseluruhan script sebelum benar-benar menjalankannya.<\/p><p>Apabila Anda mengupdate script untuk menggantikan&nbsp;<strong>bindParam&nbsp;<\/strong>dengan&nbsp;<strong>bindValue<\/strong>, maka Anda harus insert dua kali ke MySQL &lsquo;Thom Vial&rdquo; dalam database dan John Smith tidak akan diikutsertakan.<\/p><h2 class=\"wp-block-heading\" id=\"h-mengonfirmasi-masalah-dan-error-yang-berhasil-diatasi\">Mengonfirmasi Masalah dan Error yang Berhasil Diatasi<\/h2><p>Apabila query berhasil dijalankan dan di-insert ke database MySQL, maka kita akan melihat pesan ini:<\/p><pre class=\"wp-block-preformatted\">Connect Successfully\nNew record created successfully<\/pre><h3 class=\"wp-block-heading\" id=\"h-mengatasi-error-yang-kerap-terjadi\">Mengatasi error yang kerap terjadi<\/h3><h4 class=\"wp-block-heading\">MySQLi<\/h4><p>Umumnya jika terjadi error, maka pesan error akan langsung ditampilkan. Misalnya, terjadi kesalahan di syntax, lalu pesan ini muncul:<\/p><pre class=\"wp-block-preformatted\">Connect successfully\nError: INSERT INTO students {name, lastname, email} VALUES ('Test', 'Testing', 'Testing@testing.com')\nYou 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 ('Test', 'Testing', 'Test@testingcom')' at line 1\"<\/pre><p>Seperti yang kita lihat, tidak ada kesalahan apa pun di bagian pertama kode. Koneksi yang dibuat berhasil diaktifkan. Namun, SQL query berhenti.<\/p><pre class=\"wp-block-preformatted\">\"Error: INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')<\/pre><p>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 &lsquo;{name, lastname, email} VALUES (&lsquo;Thom&rsquo;, &lsquo;Vial&rsquo;, &lsquo;thom.v@some.com&rsquo;)&rsquo; at line 1&Prime;<\/p><p>Adanya syntax error membuat script gagal dijalankan. Error-nya adalah:<\/p><pre class=\"wp-block-preformatted\">$sql = \"INSERT INTO Students {name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')\";<\/pre><p>Bisa dilihat kalau kami menggunakan tanda kurung kurawal dan bukannya tanda kurung biasa.&nbsp; Tentu saja penulisan ini tidak tepat dan menyebabkan script tidak berfungsi sebagaimana mestinya sehingga muncul pesan error.<\/p><h4 class=\"wp-block-heading\">PDO<\/h4><p>Di baris 7 koneksi PDO, mode error di-set ke <strong>display all exceptions<\/strong>. Jika Anda tidak menyertakan mode error ini dan semisal terjadi kegagalan pada query, maka Anda tidak akan mendapatkan pesan error sama sekali. Namun, apabila mode error disertakan, maka Anda bisa mengetahui di mana letak terjadinya error. Biasanya mode error hanya digunakan bilama Anda sedang mengembangkan script karena dapat mengekspos database dan nama tabel, yang sebenarnya ingin Anda sembunyikan&nbsp; dari siapa pun yang hendak mengakses data Anda. Jika Anda tidak sengaja mengetikkan tanda kurung kurawal dan bukannya tanda kurung biasa, maka tampilan error seperti ini yang akan muncul:<\/p><pre class=\"wp-block-preformatted\">Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; &lt;code&gt;check the manual that corresponds to your MySQL server version for the right syntax to use near '{name, lastname, email} VALUES ('Thom', 'Vial', 'thom.v@some.com')' at line 1\"&lt;\/code&gt;<\/pre><h4 class=\"wp-block-heading\">Masalah lain yang mungkin akan Anda alami:<\/h4><ul class=\"wp-block-list\">\n<li>Kolom yang salah (kolom yang tidak muncul atau terdapat kesalahan penulisan)<\/li>\n\n\n\n<li>Salah satu tipe value dialihkan ke tipe kolom lainnya. Misalnya, jika kami menuliskan nomor&nbsp;<strong>47&nbsp;<\/strong>di kolom <strong>Name<\/strong>, maka pesan error akan muncul. Seharusnya, <strong>47&nbsp;<\/strong>adalah string value.&nbsp;Namun, jika kita menambahkan nomor di antara quote, misalnya&nbsp;<strong>&ldquo;47&rdquo;,&nbsp;<\/strong>maka tidak akan terjadi pesan error karena nomor yang kita maksudkan akan ditambahkan ke kolom sebagai string.<\/li>\n\n\n\n<li>Memasukkan data ke tabel yang tidak ada atau terjadi kesalahan penulisan pada tabel.<\/li>\n<\/ul><p>Data entry yang berhasil ditambahkan bisa dilihat di database kami. Berikut contoh tabel, tempat kami menambahkan data, apabila dilihat melalui&nbsp;<strong>phpMyAdmin<\/strong>.<\/p><div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img decoding=\"async\" width=\"1024\" height=\"423\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/phpmqyl-add.png\/public\" alt=\"menambahkan phpmysql\" class=\"wp-image-10163\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/phpmqyl-add.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/phpmqyl-add.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/phpmqyl-add.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/37\/2018\/05\/phpmqyl-add.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div><h2 class=\"wp-block-heading\" id=\"h-kesimpulan\">Kesimpulan<\/h2><p>Sekarang Anda sudah tahu cara input data ke database dengan php menggunakan&nbsp;<strong>MySQLi&nbsp;<\/strong>dan&nbsp;<strong>PDO<\/strong>. Selain itu, Anda juga sudah tahu cara mengatasi koneksi error yang sering kali terjadi. Jika saat ini Anda sedang belajar soal coding atau membuat website, maka Anda wajib mengetahui cara memasukkan data ke database menggunakan PHP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Tutorial ini akan membahas cara mengelola database dari script&nbsp;PHP. Di samping itu,&nbsp;Anda juga akan mempelajari cara&nbsp;INSERT&nbsp;data&nbsp;ke database menggunakan&nbsp;PHP. Untuk mengitput data ke MySQL database, Anda dapat melakukannya dengan dua metode, yaitu MySQLi dan PDO. Namun, sebelum melanjutkan tutorial ini, ada baiknya Anda mengakses control panel hosting Anda terlebih dahulu. &nbsp;Membuat Tabel (Opsional) Buatlah tabel terlebih [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/id\/tutorial\/cara-input-data-ke-database-dengan-php\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":55,"featured_media":5858,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"","rank_math_description":"Sedang belajar coding atau ingin mengembangkan website? Sudah saatnya Anda harus tahu cara input data ke database dengan PHP.","rank_math_focus_keyword":"cara input data ke database dengan php, cara insert data ke database menggunakan php, cara memasukkan data ke database menggunakan php, input database dengan php","footnotes":""},"categories":[7300],"tags":[7802,7803,7801,6302,7804],"class_list":["post-5838","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php","tag-input-data-ke-database","tag-insert-data","tag-mysql-database","tag-php","tag-phpmyadmin"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-inserir-dados-no-mysql-com-php","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/inserer-des-donnees-dans-une-table-mysql-php","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-input-data-ke-database-dengan-php","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-usar-php-para-insertar-datos-en-mysql\/","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-inserir-dados-no-mysql-com-php","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-use-php-to-insert-data-into-mysql-database","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5838","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/comments?post=5838"}],"version-history":[{"count":31,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5838\/revisions"}],"predecessor-version":[{"id":39501,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/posts\/5838\/revisions\/39501"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media\/5858"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/media?parent=5838"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/categories?post=5838"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/id\/tutorial\/wp-json\/wp\/v2\/tags?post=5838"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}