sampul-skrip-php-Nyekrip.com

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>
Cara_Insert_Tambah_data_Database_MySQL_PHP_Nyekrip

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

Comments

  1. Nur

    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. RM27

        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

  2. Alfa Renaldo

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

    1. Admin Article Author

      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. Alauddin Afif C

            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..

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

  4. jondu

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

  5. Okki Dimas Prabowo

    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” ?

  6. Okki Dimas Prabowo

    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.

  7. Ockto

    Permisi,

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

    Saya masih belum behasil.

    Terima kasih

    1. Admin Article Author

      ‘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 :)

  8. rodye

    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?

  9. alfin

    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.

  10. Wahyu Atmojo

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

  11. Damee

    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

  12. azman

    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)

  13. Marfino Hamah

    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

  14. Aurellita

    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

Alamat surel Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

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