Pada tutorial kali ini kita akan belajar cara koneksi database MySQL dengan bahasa PHP. PHP adalah bahasa pemrograman umum yang paling banyak digunakan untuk pengembangan web. PHP sangat cepat dan fleksibel dan banyak digunakan oleh situs-situs paling populer di dunia.
PHP adalah singkatan dari “PHP Hypertext Preprocessor”, PHP sendiri awalnya kependekan dari “Personal Home Page Tools” dan sebagian besar pengembang web membuat konten dinamis yang berinteraksi dengan database melalui PHP.
Database adalah sekumpulan data yang telah terorganisir sehingga memudahkan program komputer untuk mengakses kebagian data yang dibutuhkan. Database yang akan kita akses pada tutorial ini adalah database MySQL.
Pertama kali yang akan kita lakukan adalah membuka koneksi dengan database dan setelah membuka database, kita dapat melakukan beberapa fungsi yang berbeda seperti menambahkan, menghapus, memperbarui dan mengubah data dalam tabel di database MySQL.
Cara Membuka Koneksi dengan Database MySQL PHP
PHP memiliki banyak fungsi berbeda yang telah built-in untuk manipulasi database. Berikut ini adalah fungsi-fungsi built-in, dan kita pasti akan menemukan ketika membuat aplikasi yang berhubungan dengan PHP dan MySQL:
mysql_connect() mysql_select_db() mysql_close()
Membuka koneksi database MySQL PHP
Seperti yang telah disebutkan, sebelum merubah isi tabel dari database, pertama yang harus kita mulai adalah membuat skrip agar terhubung ke database. Fungsi mysql_connect()
, seperti namanya, digunakan untuk menghubungkan ke database MySQL.
<?php $user_name = "root"; $password = ""; $database = "nyekripdatabase"; $host_name = "localhost"; mysql_connect($host_name, $user_name, $password); echo "Koneksi Terbuka"; ?>
Perhatikan empat baris skrip pertama yang ditunjukkan di atas, skrip tersebut merupakan pengaturan variabel. Variabel pertama adalah $user_name
sedangkan variabel kedua adalah $password,
variabel pertama berisi nilai root
sedangkan variabel kedua bernilai ""
alias kosong, kita menentukan nilai ini karena nilai ini adalah nilai default untuk database MySQL.
Berikutnya adalah variabel $database
yang berisi nama database yang ingin dituju dan variabel $host_name
yang berisi nama host tempat database berasal. Jika anda belum mempunyai server lokal yang berisi PHP dan MySQL, anda bisa install web server lokal dengan mengikuti tutorial Cara Install XAMPP Web Server di Windows.
mysql_connect($host_name, $user_name, $password);
Baris Skrip PHP di atas digunakan untuk terhubung dengan database dan umumnya berisi tiga parameter termasuk nama host, username dan password database yang baru saja kita isi sebelumnya pada variabel.
Jika tidak ingin menggunakan variabel, maka kita bisa langsung menggunakan nilai tersebut seperti yang ditunjukkan di bawah ini:
mysql_connect('localhost','root','');
Menentukan Database yang ingin dibuka
Pada kode yang telah ditunjukkan di atas, kita telah menyatakan variabel $database
berisi nama database yang kita tuju. Mari kita menggunakan variabel tersebut untuk cek apakah database tersebut tersedia atau tidak.
<?php $user_name = "root"; $password = ""; $database = "nyekripdatabase"; $host_name = "localhost"; mysql_connect($host_name, $user_name, $password); mysql_select_db($database); echo "Koneksi Terbuka"; ?>
Pada skrip diatas terdapat fungsi mysql_select_db()
, fungsi ini adalah fungsi built-in PHP yang digunakan untuk memilih database MySQL yang ingin kita hubungkan. Selanjutnya fungsi mysql_select_db()
mengembalikan nilai true
jika database yang kita masukkan ditemukan dan mengembalikan nilai false
jika database tidak ditemukan, jika nilai tersebut true maka akan menampilkan pesan “Koneksi Terbuka”.
Skrip diatas memiliki kekurangan dalam hal penampilan pesan jika database yang dituju tidak tersedia, maka dari itu kita membuat dan menggunakan variabel untuk menyimpan nilai mysql_select_db()
dan mysql_connect()
. Dengan variabel tersebut kita dapat menguji dengan if else
untuk memeriksa apakah database ditemukan atau tidak.
<?php $user_name = "root"; $password = ""; $database = "nyekripdatabase"; $host_name = "localhost"; $connect_db=mysql_connect($host_name, $user_name, $password); $find_db=mysql_select_db($database); if ($find_db) { echo "Database Ada"; }else { echo "Database Tidak Ada"; } ?>
Cara Menutup Koneksi Database MySQL PHP
Dalam PHP, mysql_close()
digunakan untuk menutup koneksi ke server database MySQL. Kita dapat menggunakan skrip berikut untuk menutup koneksi:
mysql_close($connect_db)
Mari kita tambahkan skrip diatas, sehingga skrip akhir menjadi seperti ini.
<?php $user_name = "root"; $password = ""; $database = "nyekripdatabase"; $host_name = "localhost"; $connect_db=mysql_connect($host_name, $user_name, $password); $find_db=mysql_select_db($database); if ($find_db) { echo "Database Ada"; mysql_close($connect_db); } else { echo "Database Tidak Ada"; mysql_close($connect_db); } ?>
Menampilkan isi Tabel dari Database MySQL PHP
Sekarang kita telah mengetahui bagaimana menghubungkan database dan kemudian menutupnya, selanjutnya mari kita mencoba mengambil data atau membaca data tabel dari database MySQL menggunakan PHP.
Sebelum ditampilkan, maka kita harus memastikan bahwa terdapat tabel dalam database yang kita buka, anggaplah nama tabel tersebut adalah “nyekriptabel” dan telah memiliki 3 baris isi. Untuk mengambil dan menampilkan isi dari tabel “nyekriptabel” dalam database “nyekripdatabase”, maka kita menggunakan fungsi mysql_fetch_assoc()
, selengkapnya perhatikan skrip berikut.
<?php $user_name = "root"; $password = ""; $database = "nyekripdatabase"; $host_name = "localhost"; $connect_db=mysql_connect($host_name, $user_name, $password); $find_db=mysql_select_db($database); if ($find_db) { $query = "SELECT * FROM nyekriptabel"; $hasil = mysql_query($query); while ( $kolom_db = mysql_fetch_assoc($hasil) ) { echo $kolom_db['nyekripid'] . "<br />"; echo $kolom_db['nyekripket'] . "<br />"; } mysql_close($connect_db); }else { echo "Database Tidak Ada"; mysql_close($connect_db); } ?>
Perhatikan skrip diatas, jika database tersedia maka query “select * from nyekriptabel” akan berjalan menggunakan fungsi mysql_query()
dan hasilnya disimpan dalam variabel $hasil
. Fungsi mysql_fetch_assoc()
digunakan untuk mengambil data dari $hasil
dan disimpan dalam $field_db
. Setelah tersimpan dalam $field_db
, maka kita tinggal menampilkan data sesuai nama kolom.
Sekian tutorial Cara Koneksi Database MySQL dengan PHP, cara diatas termasuk salah satu cara dari beberapa cara. Perlu diketahui juga bahwa MySQL dan PHP bersifat gratis sehingga membuat mereka menjadi pasangan yang paling terkenal.
Happy Nyekrip!
kalau mau hapus edit tambah data gimana min?
Langsung saja mengunjungi tutorial Tutorial Lengkap Belajar PHP MySQL Untuk Pemula. :)
Ana baru tahu nih gan, ada fungsi close mysql. Selama ini ana gak pernah pakai fungsi tsb. Apakah akan terjadi masalah di kemudian hari jika koneksi yang kita buka gak kita tutup lagi gan? Krn selama ini blm ada masalah. Apa memang wajib ada close mysql ya? Trims atas jawabanya.
Pingback: PHP dan MySQL | Wawan JUMAWAN
itu disimpan dalam bentuk html ato php gan?
Ya di PHP… karena kalau kita jalankan koneksi database-nya pakai HTML nggak bisa…
Matur nuwun infonya boss.. very helpfull
makasih min. tp saya mau nanya, utk tampilan di browser nya tidak berupa tabel ya? saya mau pakai tabel min, gmana caranya?
ya pake tabel :p
Gan..
MiNta tolong solusinya..
Saya udah bikin web.. Tapi koneksinya lewat blog.
Kalo saya mau bikin database nya gimana caranya gan ?
Terimakasih
Saya udah bikin web.. Tapi koneksinya lewat blog. kata-kata ini maksudnya apa ya? koneksi yang seperti apa?
Terimakasih atas tutorialnya, saya sangat terbantu. :)
setuju nih sama admin, maksudnya bisa diperjelas?
Terimakasih tutorialnya bermanfaat banget, aku juga punya nih tutorial-tutorial gratis
wah, baru tahu kalau cara koneksi lewat code
Thanks Gan Tutorialnya, php itu selain ke mysql bisa di koneksikan ke database apa aja ya??
bisa ke database lain, contoh mariadb
sebenar ya mariaDB dan MYSql sama ajakan karena simpembuat cuma hanya merubah nama nya .. lalu knp sekarang adanya ya mySQLi yang katanya berbeda dengan mysl
Dan juga bisa ke PostgreSQL, SQLite3, Oracle, dll. mas.
gan mau nanya nih, saya punya server yg di dalam servernya sudah terdapat database, nah saya ingin menarik data yg ada di dalam database tersebut ke database localhost saya
mohon bantuannya ya gan
makasih
jika database di server berukuran tidak terlalu besar, mendingan di dump aja, abis itu dump-nya tinggal di run di localhost. :)
kok gini om
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/u706590143/public_html/inc/inc.db.php on line 7
itu menunjukkan bahwa versi php agan lebih baru dan kode disini sudah tidak support php terkini, nanti akan saya update untuk kodenya. :)
kode koneksi yang support php versi baru ada gan ?
lagi saya siapkan update untuk koneksi php terbaru… :)
sudah siap atau blom gan scriptnya..??
kalau masnya pakai php yg baru / versi 7 ke atas mysql diganti menjadi mysqli –> kode mysql_connect() menjadi mysqli_connect()
terimakasih infonya bagus sekali,
bagaimana caranya agar form isian semisal bioadata diri di php bisa konek dengan mysql, maaf gan saya masi baru dalam dunia website..
pakai form post atau get, lalu tinggal di push ke database. kedepan akan saya buatkan tutorial-nya. :)
ditunggu tutorialnya min
mau nanya sedikit,kalau aplikasi server tidak bisa dibuka dengan keterangan “Authentication to ‘localhost’ for user ‘root’ using method ‘mysql_native_password’ failed with message:Access denied for user ‘root’@localhost'(using password:Yes),itu bagaimana ya mengtasinya?
jalankan perintah pada terminal
mysqladmin -u root -p password
enter your current password
lalu
enter your new password
dengan begini, akan memasukkan password baru. takutnya kasus anda karena masalah password.
Mas, ya emang masalahnya password lah… :v
hai min mau tanya nih
ketika kita buat file konfigurasi koneksi.php
apa juga memerlukan variabel untuk menutup konekti atau ini hanya bersifat opsional
karena yang saya pelajari
tutup koneksi tidak di gunakan
terima kasih
hai juga, :)
hal ini dianjurkan loh… untuk lengkapnya silahkan ke sini http://us.php.net/function.mysql-connect
min mau tanya ini kan untuk port defaul (80), nah kalau untuk port 8080 apakah localhost tetap seperti itu atau diganti localhost:8080?
Option 1
localhost/web sama dengan localhost:80/web atau 127.0.0.1:80/web
Option 2
localhost:8080/web sama dengan localhost:8080/web atau 127.0.0.1:8080/web
jadi skrip diatas untuk port 8080 jadi (misal)
$user_name = “root”;
$password = “”;
$database = “inicontohdatabase”;
$host_name = “localhost:8080”;
atau
tetep $host_name = “localhost”;
?
makasih min untuk jawabannya :D
$host_name = “localhost”;
cukup begini saja :)
Ko tulisan ” database ada ” gak muncul sstelah di run
berarti database g ada :)
kalau web sudah jadi, bagaimana cara menyambungkan atau koneksi ke database, agar data yang sudah ada bisa dipanggil ketika di search, penjelasan di atas masih belum mengerti. Terima kasih, mohon bantuannnya.
diatas itu ilmu dasarnya… kalau mau tanya lebih detail, email aja di nyekripweb@gmail.com
ask
itu di script terakhir, nyekripid dan nyekripket apa ya?
trims :)
itu nama kolom, untuk lebih jelas, silahkan email nyekripweb@gmail.com
makasih tutorialnya… sama nggak dengan koneksi yang menggunakan PHP7
saya belum mencoba php7, jika yang dimaksud connect menggunakan mysqli maka tutorial diatas tidak bisa :)
kalau mau upgrade ke php 7, sebenarnya software apa saja yang dibutuhkan? saya masih belum paham. apakah masih sama dengan php versi sebelumnya? mohon balasannya. terima kasih
paling gampang itu coba ke website resmi xampp dan perhatikan versi php yang disediakan :)
saya coba dulu ya min..
maaf untuk penulis postingan ini atas nama siapa? karena saya akan memasukan website ini kedalam daftar pustaka sebuah makalah jika diperbolehkan
atas nama admin atau saiful saja. senang jika bisa membantu :)
min numpang tanya saya copy source codenya.. terus saya contohin tapi ngga tampil Database ditemukannya min.. itu kenapa yah???
apakah database agan sudah dibuat?
matur tengkiyu ilmunya mas
Kalo koneksi form ke database gimana ya? Misalnya kita input data di form, terus datanya bisa masuk ke database gitu.
pelajari form dan action to menangkap variable tiap bagian form dan lempar ke query :)
Mksih gan. .
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in D:\stikom\xampp\htdocs\uas\koneksi.php:7 Stack trace: #0 D:\stikom\xampp\htdocs\uas\komik.php(2): include() #1 {main} thrown in D:\stikom\xampp\htdocs\uas\koneksi.php on line 7
gan klo kayak gini kesalahannya dmna??
turunin versi apache :) mysql_connect() g terkenali
Wah artikelnya sangat membantu sekali mas terima kasih ya
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\tes\koneksi.php:8 Stack trace: #0 {main} thrown in C:\xampp\htdocs\tes\koneksi.php on line 8.
itu maksudnya apa ya? kok gk bisa connect
turunkan versi php anda
Terimakasih gan, bermanfaat, saya juga coba bikin tapi lebih sederhana karena masih belajar, hehe
saya mau tanya admin kalo codding (koneksi.php) untuk php 5 gimana yah
cara menghubungkan tabel checkbox ke phpmyadmin gimana?
min kalo nginput database pakai mysql tapi di laptop yang berbeda itu gmn ?
makasih
Terimakasih banyak min penjelasannya, sangat membantu. untuk mengerjakan tugas hehe :)
Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in D:XAMPP1htdocsbelajar_phpdatabasemysql_connect.php on line 31
Database Tidak Ada
mas kalo kaya gini, solusinya apa? scriptnya sama mas
min punya saya nama databasenya udah benar tetapi kok masih database tidak ada ya
gan , kalau hostingannya bukan make local kaya xampp, saya make dari idcloudhost jadi pas nge define HOST di tari link apanya gan ?
Sudah lama tidak utak atik php, tadi malam coba bikin data base, terus bikin skrip utk koneksi database mysql. Lha koq bisa error. Terus coba browsing skrg mysql_connect() tidak jalan diphp 5 keatas. Nah pertanyaaannya tutorial utk yg ini yg mana min?
ini pakai php yang lama masih versi 5 cuma yang awal, rencana mau update cuma masih belum sempat.. hehe
menghubungkan database..
master numpang nanya, saya udah ketik sesuai kode php di atas, tapi saat saya buka di web tulisan nya :
Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\Belajar PHP\Mysqlconnect.php:11 Stack trace: #0 {main}
mohon pencerahannya master, terimakasih.
ubahlah semua yang berkaitan dengan mysql menjadi mysqli
thanks for your information mastah….
om kalau kita mau buka msql webkita dengan port tanpa akses login ke cp gmana ?
Pakai heidi bisa om, heidisql.
mantapp terimakasih
maaf mau tanya untuk menge tes apakah koneksi database sudah ke close atau belum cara mengetahuinnya gimana ya?
Maaf belum menemukan fungsi tersebut
Min, nyekripid dan nyekripket itu apa?
Nama kolom
Tulisan nya sangat bermanfaat…
ok, trims gan infonya
bagi yang dapat error
Uncaught Error: Call to undefined function mysql_connect() in C:xampphtdocstesemuakoneksi.php:3 Stack trace: #0 {main} thrown in C:xampphtdocstesemuakoneksi.php on line 3
tutorial ini ditujukan untuk MySQL versi 4 kebawah.
Ref : w3schools.com/php/php_ref_mysqli.asp
Thanks Gan..
min bikin index.php nya dong min :)
Suhu klo tulisan <?php tidak berubah warnanya kenapa ya suhu ?
karena setelah saya ketik sesuai dengan cara mengoneksikan ke phpmyadmin muncul pesan error seperti dibawah ini :
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.
If you think this is a server error, please contact the webmaster.
Error 404
localhost
Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.23
cara mengkoneksikan nya bagaimana ya suhu ? mohon pencerahannya suhu
salam titik koma suhu.
apakah file sudah dirubah ke .php?
prepare($sql); // bind parameter ke query $params = array( “:username” => $username, “:email” => $username ); $stmt->execute($params); $user = $stmt->fetch(PDO::FETCH_ASSOC); // jika user terdaftar if($user){ // verifikasi password if(password_verify($password, $user[“password”])){ // buat Session session_start(); $_SESSION[“user”] = $user; // login sukses, alihkan ke halaman timeline header(“Location: timeline.php”); } } } ?>
kalo tiba tiba kodingannya ada keluar begitu kenapa ya gan ?
udah di masukin file dengan akhiran .php?