Script tambah data php

Nyekrip » Skrip » PHP » Skrip PHP » Cara Insert Tambah data Database MySQL PHP

  • Updated on April 17, 2015
  • Admin
  • Skrip PHP
  • 37 Comments
Script tambah data php

Pada saat kita ingin menambah data dalam tabel di database MySQL, kita bisa menggunakan dua cara. Cara pertama kita bisa menggunakan bantuan software pengolah database seperti phpMyAdmin, atau cara kedua kita bisa menggunakan trik memasukkan skrip perintah SQL kedalam skrip PHP. Pada tutorial ini kita akan membahas cara kedua yaitu cara insert tambah data database MySQL PHP dengan form/formulir dan tanpa form HTML.

Insert Data ke Tabel MySQL tanpa form HTML

Data dapat dimasukkan ke dalam tabel MySQL dengan mengeksekusi pernyataan INSERT SQL melalui fungsi PHP mysql_query. Di bawah contoh sederhana untuk menyisipkan catatan ke dalam tabel karyawan.

Perhatikan contoh skrip insert data ke tabel di database MySQL dengan PHP berikut ini:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$koneksi = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $koneksi )
{
  die('Gagal Koneksi: ' . mysql_error());
}
$sql = 'INSERT INTO karyawan '.
       '(nama_karyawan,alm_karyawan, gaji_karyawan, tgl_gabung) '.
       'VALUES ( "nyekrip", "alamat nyekrip", 34000, NOW() )';

mysql_select_db('test_db');
$tambahdata = mysql_query( $sql, $koneksi );
if(! $tambahdata )
{
  die('Gagal tambah data: ' . mysql_error());
}
echo "Berhasil tambah data\n";
mysql_close($koneksi);
?>

Insert Data ke Tabel MySQL dengan form HTML

Dalam aplikasi nyata, kebanyakan proses insert data melalui form dalam HTML, semua nilai akan diambil menggunakan formulir HTML dan kemudian nilai-nilai tersebut akan ditangkap dengan menggunakan skrip PHP (GET atau POST) dan akhirnya nilai-nilai tersebut dimasukkan ke dalam tabel MySQL.

Untuk lebih mendalami tentang GET atau POST dalam form HTML, silahkan kunjungi tutorial ” Membuat Form HTML dg POST dan GET di PHP“.

Saat melakukan insert atau tambah data, praktek terbaik yaitu menambahkan fungsi get_magic_quotes_gpc() untuk memeriksa apakah konfigurasi saat ini untuk magic quote sudah diatur atau tidak. Fungsi ini sangat bermanfaat, kebanyakan fungsi ini dipakai untuk mencegah error ketika string query yang dijalankan (dieksekusi) mengandung karakter khusus. Untuk lebih jelasnya silahkan kunjungi PHP: Magic Quotes.

DeprecatedUpdate: Fungsi get_magic_quotes_gpc() telah usang pada PHP 5.3.0 dan DIHAPUS di PHP 5.4.0.

Perhatikan contoh skrip insert data ke tabel di database MySQL dengan PHP yang telah dilengkapi dengan form HTML berikut ini:

<html>
<head>
<title>Tambah DATA ke DATABASE - Nyekrip</title>
</head>
<body>
<?php
if(isset($_POST['tambah']))
{
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$koneksi = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $koneksi )
{
  die('Gagal Koneksi: ' . mysql_error());
}

if(! get_magic_quotes_gpc() )
{
   $nama_karyawan = addslashes ($_POST['nama_karyawan']);
   $alm_karyawan = addslashes ($_POST['alm_karyawan']);
}
else
{
   $nama_karyawan = $_POST['nama_karyawan'];
   $alm_karyawan = $_POST['alm_karyawan'];
}
$gaji_karyawan = $_POST['gaji_karyawan'];

$sql = "INSERT INTO karyawan ".
       "(nama_karyawan,alm_karyawan, gaji_karyawan, tgl_gabung) ".
       "VALUES('$nama_karyawan','$alm_karyawan',$gaji_karyawan, NOW())";
mysql_select_db('test_db');
$tambahdata = mysql_query( $sql, $koneksi );
if(! $tambahdata )
{
  die('Gagal Tambah Data: ' . mysql_error());
}
echo "Berhasil tambah data\n";
mysql_close($koneksi);
}
else
{
?>
<form method="post" action="index.php">
<table width="500" border="0" cellspacing="1" cellpadding="2">
<tr>
<td width="100">Nama Karyawan</td>
<td><input name="nama_karyawan" type="text" id="nama_karyawan"></td>
</tr>
<tr>
<td width="110">Alamat Karyawan</td>
<td><input name="alm_karyawan" type="text" id="alm_karyawan"></td>
</tr>
<tr>
<td width="110">Gaji Karyawan</td>
<td><input name="gaji_karyawan" type="text" id="gaji_karyawan"></td>
</tr>
<tr>
<td width="110"> </td>
<td> </td>
</tr>
<tr>
<td width="110"> </td>
<td>
<input name="tambah" type="submit" id="tambah" value="Tambah Karyawan">
</td>
</tr>
</table>
</form>
<?php
}
?>
</body>
</html>

Script tambah data php

Formulir HTML

Dalam skrip diatas kita tidak memasukkan id_karyawan pada saat proses input, karena kolom ini sudah di-setting menjadi AUTO INCREMENT alias akan membuat isi secara otomatis.

Happy Nyekrip!

About The Author

Admin

Suka ingin berbagi pengetahuan dan pengalaman nyekrip program yang dituangkan dalam web ini dan sekarang sedang fokus mengembangkan Web Tutorial berbahasa Indonesia. Nyekrip - Web Tutorial Indonesia

Skrip Terkait

  • Cara Backup Restore Database MySQL di PHP

  • Cara hapus data Tabel di Database MySQL PHP

  • Membuat Halaman Paging dengan MySQL PHP

  • Cara Menampilkan Data Database MySQL PHP

  • Cara Menghapus Tabel dan Database MySQL di PHP

  • Cara Membuat Tabel dan Database MySQL di PHP

Comments

  1. Nur Juni 10, 2015 at 5:03 am

    setiap memambahkan error seperti ini :

    Cannot add or update a child row: a foreign key constraint fails (`db_km`.`tb_peri`, CONSTRAINT `fk_tb_peri_tb_admin` FOREIGN KEY (`id_admin`) REFERENCES `tb_admin` (`id_admin`) ON DELETE NO ACTION ON UPDATE NO ACTION)

    jadi saya harus bagaimana….

    1. Admin Article Author Juni 18, 2015 at 6:22 am

      ini beda tabel ya? sama yang contoh diatas?

      1. RM27 April 27, 2016 at 1:39 pm

        min nanya donk kemaren gue bikin CRUD bisa buat input data mahasiswa tapi ganti database malah gak bisa input . knpa yah gak mucul kesalahan klau emg salah script,, itu knpa yah min

        1. Admin Article Author April 29, 2016 at 12:54 pm

          ganti variable database :)

    2. pascal alfath Maret 31, 2016 at 1:25 am

      ikhtiar bro :v

  2. Alfa Renaldo Juli 1, 2015 at 5:48 pm

    WORK 100% Terimakasih!

  3. Alfa Renaldo Juli 1, 2015 at 5:49 pm

    work! terimakasih :) kalau bisa sekalian share Cara Hapus Database tdk secara langsung (misalnya lewat form)

  4. Ifan Agustus 14, 2015 at 4:17 am

    Tidak ada eror, tetapi tidak berhasil masuk ke database. Bagaimana min?

    1. Admin Article Author November 18, 2015 at 10:56 am

      tambahkan variable dbname

      // make foo the current db
      $db_selected = mysql_select_db(‘foo’, $link);
      if (!$db_selected) {
      die (‘Can\’t use foo : ‘ . mysql_error());
      }

      ganti foo dengan database agan. :)

      1. tita Desember 8, 2015 at 12:15 pm

        ini nambahinnya dimana gan?

        1. Admin Article Author Desember 9, 2015 at 8:21 am

          skrip diatas tinggal di excute aja.. :)

          1. Alauddin Afif C November 14, 2016 at 6:14 am

            minta tolong gan.. d jelaskan agak detail lagi.. itu di copy kemudian d paste d line yang mana.. karena sudah saya paste d sembarang line. dan foo sudah saya ganti dengan “test_db” . namun tidak jalan terjadi kesalahan pada baris ” $db_selected = mysql_select_db(‘foo’, $link); . mohon bantuanya gan.. terimakasih sebelumnya..

  5. Pingback: Tutorial Lengkap Belajar PHP MySQL Untuk Pemula |

  6. jondu November 18, 2015 at 7:24 am

    kalau untuk mencegah dobel nama gimana ? supaya tidak ada dua nama dalam database ( bukan melalui resfresh tapi melalui input baru

    1. Admin Article Author November 18, 2015 at 10:21 am

      dibuat uniq aja pas setting field di tabel dalam database

  7. Okki Dimas Prabowo Februari 11, 2016 at 5:56 am

    permisi, mau tanya dong, gw ada form nih, nah disitu gw bikin pilihan , didalemnya ada pilihan Jual, Client, Servis. nah setiap pilihan itu mau gw bikin table database sendiri.. gimana caranya ya biar data yg gw masukin dalem form itu bisa masuk ke database masing” ?

    1. Admin Article Author Februari 28, 2016 at 5:19 am

      maaf dilarang Out Of Topic :)

  8. Okki Dimas Prabowo Februari 12, 2016 at 3:16 am

    kalo saya buat form , di dalemnya ada option “Servis , Client , Jual”
    nah setiap option punya table masing2… cara buat biar data di input masuk sesuai ke table database masing2 gimana caranya ya ?

    Thanks.

    1. Admin Article Author Februari 28, 2016 at 5:13 am

      mohon maaf, dilarang bertanya OOT out of topic… nanti saya buatkan forum bagi yang sering OOT

  9. Ockto Maret 13, 2016 at 2:28 am

    Permisi,

    Skrip diatas yang menjadi ruang tampil entry data yang mana ya?

    Saya masih belum behasil.

    Terima kasih

    1. Admin Article Author Maret 13, 2016 at 1:05 pm

      ‘VALUES ( “nyekrip”, “alamat nyekrip”, 34000, NOW() )’; ini menunjukkan kalau insert langsung dilakukan di query-nya. kalau untuk ruang entry yang dimaksud adalah kolom input, maka tinggal setup isian value kolom input ke query :)

  10. Udin Maret 17, 2016 at 4:46 am

    Terimakasih infonya gan, sangat membantu saya dalam belajar nyekrip

  11. rodye Maret 28, 2016 at 3:21 pm

    Object not found!

    The requested URL was not found on this server. The link on the referring page seems to be wrong or outdated. Please inform the author of that page about the error.

    If you think this is a server error, please contact the webmaster.

    Error 404

    localhost
    Apache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.6.3

    ini kenapa ya gan?

    1. Admin Article Author Maret 30, 2016 at 12:21 pm

      404 atau Object not found! itu menandakan kesalahan penulisan url :) coba periksa dengan teliti

  12. rey Juni 14, 2016 at 10:25 pm

    mas bagaimana script nya untuk insert data ke dalam tabel yang data nya diambil dari tabel lain

  13. Maulana Doly Ariawan Oktober 13, 2016 at 8:41 am

    mantap sangat membantu sekali…..(y)

  14. alfin Oktober 25, 2016 at 3:54 am

    script ini hanya sebatas menampilkan format yg seperti gambar di atas apa sudah bisa untuk input, saya sudah execute, bisa tampil seperti di atas tetapi pada saat tambah karyawan atau enter pada akhir inputan, malah masuk ke dashboard localhost.
    mohon pencerahannya gan admin. terima kasih.

  15. Wahyu Atmojo Desember 19, 2016 at 6:37 am

    Mas bagaimana kalo pake foreign ada gak script yang bisa dipelajari untuk manggil query nya … ato yang sudah digabungkan dengan html ato php ….

  16. Damee Maret 28, 2017 at 5:03 pm

    Masih nyoba2 gan,

    btw ane nongol

    Uncaught Error: Call to undefined function mysql_connect() di line 12, itu beda nama db ane apa bagaimana ya gan, mohon bimbingannya

    1. Admin Article Author April 2, 2017 at 4:21 am

      cek nama db pass dan servernya secara teliti..

      1. azman Oktober 6, 2017 at 9:19 pm

        saat edit data, id nya saya bikin disibled, tapi bisa update, mohon penjelasannya

        1. Admin Article Author Juni 27, 2018 at 2:09 am

          mungkin idnya masih ada data gan

  17. azman Oktober 6, 2017 at 9:24 pm

    mohon penjelasannya min, di dalam form edit, saat id di disabled kan, data tidak bisa di update, tak bisa di ubah, bagaimana caranya agar disabled berfungsi dan data tetap bisa di update (bisa berubah)

    1. Admin Article Author Juni 27, 2018 at 2:08 am

      bisa tolong dijelaskan lebih detail?

  18. Marfino Hamah Februari 5, 2018 at 3:48 am

    gak Bisa min tulisan nya kek gini db dan tabel udh sama Fatal error: Uncaught Error: Call to undefined function mysql_connect() in line 12

    1. Admin Article Author Juni 25, 2018 at 3:48 am

      Turunkan versi PHP

  19. Aurellita Maret 24, 2020 at 11:49 am

    Artikelnya sangat membantu sekali kak! Terus berkarya dan terima kasih sudah memberikan ilmu bermanfaat ya. Saya Aurellita, jangan lupa kunjungi website kampus saya di atmaluhur.ac.id ya kak. Terima kasih kak!

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.