Belajar Php Mysql
-
Upload
amartakarya -
Category
Documents
-
view
48 -
download
4
description
Transcript of Belajar Php Mysql
-
CaraMenjalankanPHPdanMySQLmenggunakanXAMPPPHPdijalankandariwebserverApache,danjikaandamengikutiTutorialPHPDasarUntukPemuladiduniailkom,makadikomputerandatelahterinstallaplikasiXAMPP.
UntuktutorialcaramenginstallXAMPP,duniailkomtelahmembuat2tutoriallengkap,yaknicaramenginstallXAMPP1.8.3,atauversiyanglebihbaru:caramenginstallXAMPP5.6.3
SelainmodulApache,XAMPPjugamemilikipaketbawaanMySQLServer.Untukmenjalankankeduanya,andatinggalmenkliktombolStartpadajendelaXAMPPControlPanelsepertigambardibawahini:
Jikatidakadamasalah,modulMySQLakanberwanahijauyangmenandakanMySQLServersudahberjalan.
CaraMenjalankanMySQLdanPHPsecaraTerpisahJikaandatelahmengikutiTutorialMySQLDasardiduniailkom,padatutorialtersebutsayamenginstallMySQLsecaraterpisah(bukandariaplikasiXAMPP),kitajugabisamenggunakanaplikasiMySQLiniuntukdiaksesdariwebserverApacheyangberasaldariaplikasiXAMPP.
Namun,sepertiyangtelahkitabahaspadatutorialcaramenjalankanMySQLServer,bahwadidalamsebuahkomputerhanyabisaberjalan1buahMySQLServer.Sehinggajikaandamenemukanpesanerrorsepertigambardibawahini,berartiadaaplikasiMySQLServeryangsedangaktif.
www.
dunia
ilkom.
com
1
-
UntukmemeriksaapakahMySQLServersedangaktifatautidak,bisadilakukanmelaluitaskmanager.Silahkanbukataskmanager,dancariprosesdengannama:mysqld.exe.Jikaditemukan,berartiMySQLServertelahberjalandilatarbelakang.
AndabolehmenggunakanMySQLversistandaloneini,ataumematikannyadanmenggunakanMySQLversibawaanXAMPP.
www.
dunia
ilkom.
com
2
-
CaraMengujiKoneksiPHPMySQLDenganPhpmyadminUntukmengujiapakahaplikasiPHPdapatmengaksesdatabaseMySQL,kitabisamenggunakanaplikasiPhpmyadminbawaanXAMPP.
AplikasiPhpmyadminadalahsebuahaplikasimanajemendatabaseMySQLyangberbasisweb.XAMPPmenambahkanaplikasiiniuntukmempermudahpengaksesandatabaseyangbiasanyadiaksesmenggunakanconsole,ataucmdWindows.Namunsayatidakakanmembahascarapenggunaanaplikasiphpmyadminpadatutorialkaliini.KitahanyamenggunakannyauntukmengecekkoneksidariaplikasiPHPkeMySQL.
Untukmasukkemenuphpmyadmin,andabisamengetikalamatberikutpadawebbrowser:http://localhost/phpmyadmin/.AtaubisajugadarihalamanlocalhostXAMPP,lalucarimenuphpmyadminyangberadapadapojokkirihalamanlocalhost.
JikaandamenggunakanaplikasiMySQLbawaanXAMPP,danapabilatidakadamasalahakantampilhalamanawalPhpmyadminsepertigambardibawahini:
www.
dunia
ilkom.
com
3
-
TampilnyahalamantersebutmenandakanbahwaPHPdanMySQLtelahterhubungsecarasempurna.Namunjikatampilanphpmyadminsepertigambarberikutini,makadapatdisimpulkanbahwaMySQLServerbelumberjalan.
www.
dunia
ilkom.
com
4
-
Jikaandamendapatitampilantersebut,permasalahanterdapatpadaaplikasiMySQLServeryangbelumdijalankan.SilahkanjalankanaplikasiMySQLdariXAMPPControlPanel.
ApabilaandamenggunakanaplikasiMySQLyangterpisah(bukanbawaanXAMPP),makamenuphpmyadminseharusnyaakanmenjadisepertigambarberikut:
Namunjangankhawatir,pesanerrortersebutterjadikarenaphpmyadminmencobamasukkeMySQLServerdenganuserrootdantanpapassword.Pesanerror#1045Accessdeniedforuserroot@localhost(usingpassword:NO)merupakanpesanerrorketikakitasalahmemasukkanpassworduntukuserroot.JikaandamengikutitutorialMySQLdiduniailkom,userrootakanmemilikipasswordqwertydanbukankosong,sehinggahalinilahyangmenyebabkantampilanerrortersebut.
TampilanerrordiatassebenarnyaberartiMySQLServertelahberjalan,danbisadiaksesdariPHP.
www.
dunia
ilkom.
com
5
-
PerkembanganCaraKoneksiPHPdanMySQLPHPmerupakanbahasapemogramanyangselaludiupdate,danberkembangmengikutiteknologiterbaru.Saatini,PemogramanBerorientasiObjek(ObjectOrientedProgramming)merupakantrendpemogramanPHP,danhalinijugamempengaruhicaramengaksesdatabaseMySQLdariPHP.
PHPmemiliki3carapengaksesanMySQL,yaknimelauiPDO(PHPDataObjects),mysqliextensiondanmysqlextension.PDOmenggunakanpemogramanobjek,mysqliextensiontersediadalambentukobjekdanprosedural(diaksesmelaluifungsifungsi)sedangkanmysqlextensionsepenuhnyamenggunakanpemogramanprosedural.
1.KoneksiMySQLdenganmysqlextensionSaatpertamakalimempelajariPHPMySQLsekitartahun2008(ataujikaandapernahmempelajariPHPMySQLbeberapatahunyanglalu),untukmengaksesMySQLdariPHP,kitamenggunakanfungsifungsisepertimysql_connect(),mysql_query(),danmysql_fetch_array().Fungsifungsiinitergabungkedalammysqlextension.SaatituPDOdanmysqliextensionmasihjarangdigunakan.
Namunsaatini,tepatnyamulaiPHPversi5.5.0,PHPmemutuskanuntukmembuatmysqlextensionberstatusdeprecated.YangartinyapengaksesandatabaseMySQLmenggunakanfungsimysqlextensionsudahtidakdisarankanlagi.ProgrammerPHPdiharapkanpindahkemysqliextensionatauPDOyangberbasisobjek.
Alasannya,MySQLversiterbarumemilikifiturfituryangsemakinlengkapdankompleks,sehinggaPHPmemutuskanuntukmembuatfungsiextensionbaruagarprogrammerPHPbisamenggunakanfiturfiturini.
2.KoneksiMySQLdenganmysqliextensionSebagaipenggantimysqlextension,PHPmenyediakanmysqliextension(mysqlimerupakansingkatandariMySQLImproved).MysqliextensioninipadadasarnyaadalahperbaikandarimysqlextensiondandikembangkanuntukmendukungfiturfiturterbarupadaversiMySQL4.1keatas.Hampirsemuafungsiyangadapadamysqlextension,jugatersediapadamysqli.
Selainmenggunakanmysqlmaupunmysqliextension,caraketigauntukpengaksesandatabaseMySQLdariPHPadalahmenggunakanPHPDataObjects(atauseringdisingkatdenganPDO).
3.KoneksiMySQLdenganPDO(PHPDataObjects)PDO(PHPDataObjects),adalahextensionataupenambahanfiturdalamPHPyangdirancangsebagaiinterfaceuniversaluntukpengaksesanberbagaijenisdatabase(tidakhanyaMySQL).Contohnya,jikakitamenggunakanPDOdalammenuliskodepemograman,lalusuatusaatwebsitekitabertukardatabasedariMySQLkeOracle,makakitatidakperlumengubahsemuakodeprogram,cukupmengubahcarapemanggilanPDOdiawalprogramsaja.
www.
dunia
ilkom.
com
6
-
CaraPenulisanmysqlextension,mysqliextension,danPDO(PHPDataObjects)UntukmengetahuisecarasekilasperbedaancarapengaksesandatabaseMySQLmenggunakanmysqlextension,mysqliextension,danPDO,berikutcontohkodePHPnya:
Dalamcontohdiatas,dianggapbahwauserMySQLadalahroot,passwordqwerty,dannamadatabaseuniversitas.
Andatidakperlumemahamikodeprogramdiatas,karenakitaakanmembahasnyadalamtutorialbelajarPHPMySQLdiduniailkomini.
DalamtutorialPHPMySQLdiduniailkomini,untuktahappertama,sayaakanmenggunakanmetodemysqlextensionyangberbasisfungsiterlebihdahulu.Walaupunmetodeinitidakdisarankanlagi,namunmetodeinilahyangpalingmudahdipelajaridandikenalluas.
Setelahselesaimembahasmysqlextension,nantinyakitaakanberalihkemysqliextension.CarapengaksesanMySQLdenganPDOyangberbasisobjekakanlebihmudahdipahamijikaandatelahmempelajaripemogramanberbasisobjek.
www.
dunia
ilkom.
com
7
-
PengertianExtensiondalamPHPSampaitutorialkaliini,beberapakalisayamenggunakanistilahextension.Namunapakahyangdimaksuddenganextensionini?
ExtensiondidalamPHPadalahistilahyangmerujukkepadakumpulanfungsiprogramtambahanyangmembuatPHPdapatmendukungberbagaifiturbaru.
PHPterdiridariaplikasiinti(PHPcore),danfungsitambahan(extension).DalamaplikasiintiPHP,PHPtidakmenyediakanfungsiyangmenanganidatabaseMySQL.Penangananuntukfungsidatabaseinidipisahkanmenjadifungsitambahan(extension).Selaindatabase,extensiondalamPHPmenyediakanberbagaifungsilainnyauntukkeperluanyanglebihkhusus,sepertipembuatangambar,kriptografi,penangananemail,pembuatanPDF,danlainlain.
CaraSettingmysqlextensiondenganphp.iniUntukmengaktifkanextensiondalamPHP,bisadilakukandarifilesetinganphp.ini(caramembukafilephp.initelahkitapelajaripadatutorialCaraMengubahFileKonfigurasiPHP(php.ini)),lalucariextension=php_mysql.dlldanextension=php_mysqli.dll,pastikanmenghapustandatitikkomadiawalkeduaextensioniniuntukmengaktifkannya.
Masihpadafilephp.ini,padabagianiniandadapatmelihatberbagaiextensionyangterdapatdidalamPHP,bahkansebahagianbesartidakaktifsecaradefault.
Filesettinganphp.inimenginstruksikankepadaPHPuntukmengaktifkansuatuextension,namunfileextensionitusendirijugaharusadadidalamPHP.Andabisamembukafolderxampp\php\extuntukmelihatfilefileextensionyangdigunakanuntukmenambahfiturPHP.
www.
dunia
ilkom.
com
8
-
Untukmemeriksaapakahsetinganextension=php_mysql.dllsudahaktif,kitabisamenggunakanfungsiphpinfo().Andabisamenjalankanfungsiphpinfo()didalamsebuahfilephp,ataubisajugadenganmenklikmenuphpinfo()darihalamanlocalhostdariXAMPP.Dalamhalamanphpinfo(),carilahbagianmysqlsepertitampilanberikut:
Jikaandamenemukanbagianmysql,berartiextensionmysqltelahaktifdankitabisamulaImembuatprogramuntukmengaksesdatabasemelaluiPHP.
www.
dunia
ilkom.
com
9
-
MengenalFungsikoneksiPHPMySQL:mysql_connect()UntukmembuatkoneksiantaraPHPdenganMySQL,PHPmenyediakanfungsimysql_connect().
FungsiinidiibaratkansebagaicarauntukloginkedalamMySQLServer.Fungsimysql_connect()membutuhkan3argumen,danmengembalikannilaifungsiberupavariabelkoneksikeMySQL.
Berikutadalahformatdasarpenulisanfungsimysql_connect():
$linkmerupakanvariabelyangakanmenampunghasildarifungsimysql_connect().JikaberhasilterhubungdenganMySQL,$linkakanberisinilaiyangberfungsisebagailinkkoneksidenganMySQL.LinkkoneksiiniakandibutuhkansepanjangkitamembuatprogramPHPMySQLnantinya.
mysql_hostadalahargumenpertamadarifungsimysql_connect().Nilaimysql_hostdiisidenganalamatkomputerdimanaMySQLServerberjalan.JikaandamenjalankanMySQLmenggunakanXAMPPdikomputeryangsamadengantempatwebserverApacheberjalan,makaalamatinibisadiisidenganlocalhostatau127.0.0.1.NamunjikaMySQLserverdijalankandarikomputerlain,argumeniniakanberisiIPaddressdarikomputertersebut.
mysql_useradalahnamauserMySQLdimanakitaakanlogin.Sepertiroot,admin,andidanlainlaintergantungkepadauserMySQLyangtelahterdaftardiserver.CaramembuatdanmenghapususerMySQLtelahsayabahaspadaTutorialCaraMembuatdanMenghapusUserMySQL(CREATEUSER).JikaandamenggunakanMySQLbawaanXAMPP,userrootdapatdigunakan.
mysql_passworddiisidenganpassworddariuseryangdibuatpadaargumenmysql_user.
Variabel$linkyangberisilinkkoneksiPHPMySQL(hasildarifungsimysql_connect()),termasukkedalamkelompoktipedatakhususPHPyangdisebutresources.VariabelResourcestidakbisaberdirisendiridanbiasanyadigunakansebagaiargumenuntukfungsilain.Andabebasmenggantinamavariabel$linkdengannamalain,seperti$koneksi,$link_mysql,dll.
JikakoneksidenganPHPgagaldilakukan,fungsimysql_connect()akanmengembalikannilaiBooleanFALSE.HasilFALSEiniakandisimpandalamvariabel$linkdanbisakitagunakandalamperulanganIFuntukmenampilkanerroryangterjadi
CaraMembuatKoneksiPHPdenganMySQLUntukmengetahuicaramembuatkoneksiantaraMySQLdenganPHP,langsungsajakitamasuk
$link=mysql_connect(mysql_host,'mysql_user','mysql_password');
www.
dunia
ilkom.
com
10
-
kedalamcontohkodeprogramcarapenggunaanfungsimysql_connect().
BerikutadalahkodePHPuntukmembuatkoneksidenganMySQL:
JikakoneksidenganMySQLberhasil,makadidalamwebbrowserakantampilgambarsepertiberikutini:
Padabagianpertamakodeprogram,sayamembuatfungsimysql_connect(localhost,root,).FungsiiniberartisayamencobalogindenganMySQLServeryangberadadialamatlocalhost(komputeryangsamadenganwebserverberada),namauserrootdanpassword(stringkosong,yangberartitanpapassword).
Fungsimysql_connect()mengembalikankondisistatuskoneksikedalamvariabel$link.Variabel$linkakanberisilinkkoneksi(bertiperesources)jikaberhasilterkoneksidenganMySQL,danakanbernilaiTRUEjikadikonversimenjadiBoolean.
Namunvariabel$linkakanberisinilaiBooleanFALSEjikaPHPgagalloginkeMySQL.Nilai$linkinibisadigunakanuntukpengecekanapakahkoneksiberhasilatautidak.
Jikaterjadikesalahan,misalkansajasayamengubahpasswordrootmenjadi123456,makatampilanwebbrowserakansepertiberikutini:
123456789101112131415161718192021
www.
dunia
ilkom.
com
11
-
Sepertiyangterlihat,PHPmengeluarkanpesanerrormysql_connect():Accessdeniedforuserroot@localhost(usingpassword:YES),yangberartiloginkeMySQLgagalkarenasalahpassworduntukuserroot.
Agarlebihinformatif,diakhirprogramsayatampilkannilaidarivariabel$linkdenganmenggunakanfungsivar_dump().Andaakanmelihatbahwavariabel$linkbertipedataresourcesjikakoneksiberhasil,danbertipedataBooleanFALSE,jikakoneksigagal.
SedikitcatatantentanguserMySQLjikamenggunakanMySQLServerdariXAMPP.
Selainuserroot,MySQLbawaanXAMPPjugaberisibeberapauserlain.Berikutadalahdaftarusertersebut:
Halyangpentingdaritabeldiatas,MySQLmembolehkanuserdengannama:ANY,yangberartiMySQLbawaanXAMPPmembolehkanuserdengannamaapapununtukmasukkeMySQLServer,sehinggajikaandamengubahcontohkitamenjadi:$link=mysql_connect(localhost,aku_siapa,),PHPakantetapberhasilmasukkedalamMySQLServer.
MySQLversiXAMPPmemangtidakdirancanguntukkeamanan,namunlebihkepadakemudahandalammembuatkodeprogramPHP.
www.
dunia
ilkom.
com
12
-
Mengenalfungsidie()danexit()dalamPHPSalahsatufungsiPHPyangseringdigunakanpadasaatmelakukankoneksidenganMySQLadalahfungsidie()danexit().
Sesuaidengannamanya,fungsiinibertujuanuntukmembunuhataukeluardariPHP.KeduafungsiinibertujuanuntukmembuatprosesPHPberhentidiprosespadasaatitujuga(padasaatfungsiinidipanggil).
Sebelumbunuhdiri,fungsidie()danexit()bisamenampilkanpesanterakhir.
Berikutadalahpenggunaanfungsidie()dalammembuatkoneksiantaraPHPdenganMySQL:
Fungsidie()padakodediatasakanmenyebabkanprosesPHPberhentijikaloginkedatabaseMySQLgagaldilakukan.Denganmenggunakanfungsidie(),kitabisamemastikanbahwaPHPtidakakanmengeksekusiperintahperintahselanjutnya.
Apabilakitatidakmenggunakandie(),makaPHPakanterusmenjalankanprosesberikutnyayangakanmenghasilkanerror(karenakoneksikedatabasememangtidakakanbisadilakukan).
MenghentikankoneksiPHPMySQLdenganmysql_close()KoneksiPHPdenganMySQLakandihentikansecaraotomatispadasaateksekusiprogramselesai,yaitupadasaathalamanPHPselesaidiproses,sehinggakitatidakperlumenghentikanyasecaramanual.
NamunjikaandainginmenghentikankoneksidenganMySQLpadasaatprogramPHPsedangberjalan,PHPmenyediakanfungsimysql_close().Fungsiinimembutuhkan1buahargumenyangdiisidenganvariabellinkkoneksihasilpemanggilanfungsimysql_connect().Variabelkoneksiini
1234567891011121314151617
www.
dunia
ilkom.
com
13
-
bersifatopsional,danjikadiabaikanmakaPHPakanmenggunakankoneksimysqlterakhir.
Berikutadalahcontohpenggunaanfungsimysql_close():
Dalamtutorialkaliini,kitatelahberhasilmembuatkoneksiantaraPHPdenganMySQLServer.NamununtukberkomunikasidengandatabasedalamMySQL,harusmenggunakanquery.DalamtutorialberikutnyakitaakanmembahascaramenjalankanqueryMySQLdariPHPdenganfungsimysql_query.
123456789101112
www.
dunia
ilkom.
com
14
-
MengenalFungsiQueryPHPMySQL:mysql_queryUntukmenjalankanqueryMySQL,PHPmenyediakanfungsimysql_query().Fungsiinidijalankansetelahkoneksiberhasildilakukandenganfungsimysql_connect().
Fungsimysql_query()merupakanfungsiyangakanseringkitagunakan,karenadenganfungsiinilahPHPakanmelakukanpercakapandenganMySQL.HampirseluruhperintahqueryMySQLyangkitabahaspadatutorialbelajarMySQLDasar,dapatdijalankandenganfungsimysql_query().
Fungsimysql_query()membutuhkan2argumen,dimanaargumenpertamadiisidenganqueryMySQL,danargumenkeduadiisidenganlinkkoneksihasilfungsimysql_connect().Argumenkeduainibersifatopsional.
Berikutadalahformatdasarpenulisanfungsimysql_query()dalamPHP:
$result=mysql_query('query_mysql',[$link_koneksi_mysql]);
$resultadalahvariabelyangakanmenampunghasildarifungsimysql_query().Jikafungsimysql_query()berhasildijalankan,variabel$resultakanberisihasilquery.Namunhasilqueryiniharusdiproseslebihlanjutagardatanyadapatditampilkan.Variabel$resultbertiperesources(samadenganhasildarifungsimysql_conncect()).Variabel$resultakanbernilaiBooleanFALSEjikaquerygagaldijalankan.Namadarivariabelinitidakharusditulissebagai$result,andabebasjikainginmenggantinyadengannamalain.
query_mysqladalahargumenpertamafungsimysql_query().PadabagianinilahkitamenulisqueryMySQL.QuerytersebutselanjutnyaakandikirimkepadaMySQLServeruntukdiproses.ArgumeniniharuspertipeStringdanmengikutiaturanStringdidalamPHP.Contohqueryini,misalnyaSELECT*FROMmahasiswa,atauCREATEDATABASEuniversitas.
$link_koneksi_mysqladalahargumenkeduadarifungsimysql_query().Argumeninidiisidenganvariabelhasilpemanggilanfungsimysql_connect().Argumeninibersifatopsional,danjikadiabaikan,PHPakanmenggunakanvariabelmysql_connect()yangsedangterkoneksisaatini.
JikaandabelummemahamipengertiandancarapenulisanquerySELECTMySQL,duniailkomtelahmenyediakantutorialdasartentangquerydalamTutorialMySQL:CaraPenulisanQuerySELECTMySQL.
CaraMenjalankanqueryMySQLdariPHPUntukmemahamicarapenggunaanfungsimysql_query(),langsungsajakitamasukkedalamcontohprogram.Dalamcontohprogramberikut,sayaakanmembuatqueryuntukmenampilkan
www.
dunia
ilkom.
com
15
-
seluruhdatabaseyangadadidalamMYSQL.
Berikutadalahcontohprogrampenulisanfungsimysql_querydalamPHP:
Jikaandamenjalankanperintahdiatas,didalamwebbrowserakantampilsemuanamadatabaseyangadadalamMySQL.
Padabariske3dariprogramdiatas,sayamembuatkoneksidenganMySQLmenggunakanfungsimysql_connect().Fungsiinimenggunakanuserrootdantanpapassword.Hasilkoneksifungsisayasimpankedalamvariabel$link.
Selanjutnyapadabariske6sayamemeriksanilaidarikoneksimysql_connect()dengancaramembuatlogikaIFuntukvariabel$link.JikaMySQLgagaldiakses,makafungsidie()akanmemerintahkanPHPuntukmenghentikanprogram.
Namunjikakoneksiberhasil,padabariske12sayamembuatfungsimysql_query()untukmenjalankanquerySHOWDATABASES.QueryiniadalahperintahuntukmenampilkanseluruhnamadatabaseyangadapadaMySQL.
Kodeprogrampadabariske15digunakanuntukmenampilkanhasilquery.Fungsimysql_fetch_row()belumsayabahas,danakankitapelajaripadatutorialberikutnya.
Apabilaqueryyangdigunakanlebihpanjangdankompleks,andabisamenyimpannyadidalamsebuahvariabelterlebihdahulu,barukemudiandijalankandenganmysql_query(),seperticontoh
www.
dunia
ilkom.
com
16
-
berikutini:
$query="SELECT*FROMmahasiswaWHEREIPK>5";$result=mysql_query($query,$link);
Denganmemindahkanquerykedalamvariabel,akanmembuatprogramkitamenjadilebihrapi.
Argumenkeduadarifungsimysql_query()jugabolehtidakditulis,danPHPakanmenggunakanlinkkoneksiMySQLterakhiryangtersedia,seperticontohberikut:
$query="SELECT*FROMmahasiswaWHEREIPK>5";$result=mysql_query($query);
Fungsimysql_connect()danmysql_query()adalahfungsipalingdasardalamkoneksiPHPdenganMySQL.Untukmenampilkanhasildariquerytersebut,PHPmenyediakanberbagaicarayangbisadigunakanuntukberbagaisituasi.Carapengaksesaniniakankitapelajaripadaartikelartikelselanjutnya.
www.
dunia
ilkom.
com
17
-
MenampilkanTabelMySQLdenganfungsimysql_fetch_rowUntukmenampilkantabelMySQLdidalamPHP,hasildarifungsimysql_query()harusdiproseslebihlanjutagarbisaditampilkandidalamwebbrowser.PHPmenyediakanbanyakcarauntukmenampilkanhasilqueryMySQL.Salahsatunyaakankitabahasdalamtutorialkaliini:denganfungsimysql_fetch_row().
PerintahSELECTadalahqueryMySQLyangpalingseringgunakan.Queryiniberfungsiuntukmenampilkandatadaridatabase.DatayangditampilkanMySQLbiasanyadiberikandalambentuktabelyangterdiridaribarisdankolom.
Fungsimysql_fetch_row()digunakanuntukmenampilkantabelsecarabarisperbaris.Fungsimysql_fecth_row()akanmengembalikannilai1barisdarisebuahtabelpadasetiappemanggilan.Sehinggauntukdapatmenampilkanseluruhisitabel,fungsimysql_fecth_row()harusdipanggilsecaraberulang.
Berikutadalahformatdasarpenulisanfungsimysql_fetch_row()dalamPHP
$rowadalahvariabelyangakanmenampunghasilfungsimysql_fetch_row().Hasildarifungsimysql_fetch_row()berupatipedataarraydengankeymerujukkepadakepadaurutankolom,danvaluenya(nilaidariarray)adalahisidarikolomtersebut.
$resultadalahvariabelinputanqueryuntukfungsimysql_fecth_row().Variabeliniberasaldarifungsimysql_query().
Carapengambilandatadarivariabel$row,pentinguntukdipahami.
Variabel$rowhasilfungsimysql_fetch_row()bertipearray.JikasebuahbarisdidalamtabelMySQLterdiridari3kolom,makavaribel$rowakanberisinilaisebagaiberikut:$row[0]=nilai_kolom_1,$row[1]=nilai_kolom_2,dan$row[2]=nilai_kolom_3.Indexarraydimulaidari0,dankarenaitukolom1beradapadaindex0,bukanindex1.
Yangperlumenjadiperhatian,fungsimysql_fetch_row()hanyamembaca1barispadasekalipemanggilan.Jikatabelkitaterdiridari5baris,makafungsimysql_fecth_row()harusdiulangsebanyak5kali.
CaraMenampilkanTabelMySQLdariPHPAgarlebihmudahmemahamicarakerjafungsimysql_fetch_row(),kitaakanlangsungpraktekdengankodeprogram.
Karenafungsimysql_fetch_row()digunakanuntukmenampilkandata,kitaharusmembuatdatanya
$row=mysql_fetch_row($result)
www.
dunia
ilkom.
com
18
-
terlebihdahulu,yaituberupadatabaseMySQLbesertatabelnya.
SebagaidatacontohdansaranalatihanmenggunakanqueryMySQL,sayaakanmembuatdatabaseuniversitas,dantabelmahasiswa_ilkom.Databaseuniversitasdantabelmahasiswa_ilkominijugaakansayagunakanpadatutorialPHPMySQLselanjutnya.
Berikutadalahkodeyangdiperlukan:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
-
KodePHPdiatassedikitpanjangjikadibandingkancontohcontohkitasebelumnya,namunintinyaperintahdiatasadalahuntukmembuatdatabaseuniversitas,dantabelmahasiswa_ilkom.Setelahtabelterbentuk,kemudiansayamenambahkanbeberapadatakedalamtabeltersebut.
Daricontohdiatas,andajugadapatmelihatcarapembuatandatabase,pembuatantabel,dancaramemasukkannilaikedalamdatabase.Semuanyadijalankandenganfungsimysql_query().
JikaandasudahpahamtentangqueryMySQL,perintahquerydiatastentunyatidakterlalusulituntukdipahami.Namunjikaragutentanginstruksiqueryyangsayagunakan,andabisamempelajarinyaditutorialMySQLduniailkom.
FungsifungsiPHPyangsayagunakanjugatelahkitapelajaripadatutorialsebelumnya.TambahanbarumungkinadapadapenggunaanlogikaIFuntukmenanganifungsiyanggagal.Sayamenggunakaninstruksi(!$result)untukmasukpadafungsidie()jikafungsitersebutgagaldijalankan.
Sebagaicontoh,jikaandamenjalankankodediatassebanyak2kali,makaakantampilpesanDatabasemahasiswagagaldibuat.HaliniterjadikarenaterdapatduplikasidatabasedidalamMySQL,sehinggakodePHPakanberhentipadabariske15karenafungsidie().
CaraMenampilkanBarisTabelDenganFungsimysql_fetch_rowSetelahtabelcontohselesaidibuat,saatnyakitamencobamenampilkandatadaritabelmahasiswa_ilkomdenganfungsimysql_fetch_row().
Carapalingdasaruntukmenampilkandatadarimysqladalahsepertikodeprogramberikutini:
5253545556
$query="INSERTINTOmahasiswa_ilkomVALUES('099145055','NeilSitumorang',22,'Medan',1.9)";mysql_query($query);$query="INSERTINTOmahasiswa_ilkomVALUES('089023013','AlexSupriyanto',23,'Surabaya',2.9)";mysql_query($query);$query="INSERTINTOmahasiswa_ilkomVALUES('109223041','RaniSabrina',21,'Padang',3.7)";mysql_query($query);echo"DatabaseuniversitasdanTabelmahasiswa_ilkomberhasildibuat";?>
12
-
Kodeprogramdaribaris1sampaibaris16merupakanpersiapanuntukmengkoneksikanMySQLdanmemilihdatabaseuniversitas.
Perhatikanpadabariske12,dimanasayamenjalankanqueryUSEuniversitas.QueryiniditujukanuntukmemberitahuMySQLbahwakitaakanmenggunakandatabasemahasiswa.Alternatifpenulisanmysql_query(USEuniversitas)adalahdenganmenggunakanfungsimysql_select_db(universitas).Andabebasinginmenggunakansalahsatunya.
Padabariske20sayamenjalankanquerySELECTuntukmenampilkanseluruhisitabelmahasiswa_ilkom.Caramenjalankannyaadalahdenganfungsimysql_query()denganperintahquery:SELECT*FROMmahasiswa_ilkom.Hasilfungsiditampungkedalamvariabel$result.
345678910111213141516171819202122
$link=mysql_connect('localhost','root','');//jikakoneksigagal,langsungkeluardariPHPif(!$link){die("KoneksidenganMySQLgagal");}//gunakandatabaseuniversitas$result=mysql_query('USEuniversitas');if(!$result){die("Databasemahasiswagagaldigunakan");}//tampilkantabelmahasiswa_ilkom$result=mysql_query('SELECT*FROMmahasiswa_ilkom');$row=mysql_fetch_row($result);echo"$row[0]$row[1]$row[2]$row[3]$row[4]";?>
www.
dunia
ilkom.
com
21
-
Variabel$resultselanjutnyadiprosesdenganfungsimysql_fetch_row($result),dandisimpandalamvariabel$row.
Sepertiyangtelahkitapelajari,bahwafungsimysql_fetch_row()akanmenyimpanhasilquerysebagaiarraydengankeyadalahurutankolommulaidarikeyke0untukkolomke1tabel,$row[1]untukkolomke2,danbegituseterusnya.Karenatabelmahasiswa_ilkomhanyamemiliki5kolom,maka$row[4]adalahkolomterakhir.
CaraMenampilkanSeluruhTabelDenganFungsimysql_fetch_rowSesuainamanya,fungsimysql_fetch_row()hanyaakanmenampilkanbarisperbaris,jadibagaimanacaranyauntukmenampilkanseluruhtabelmahasiswa_ilkom?Caranyaadalahdenganmengulangfungsimysql_fetch_row()sebanyakjumlahbarisyanginginditampilkan.
Sehinggacontohprogramkitamenjadisebagaiberikut:
1234567891011121314151617181920212223242526272829
www.
dunia
ilkom.
com
22
-
Padacontohdiatas,sayamenghapusbarisfungsidie()sematamataagarcontohprogramkitatidakterlalupanjang.
Kodeprogramdiatasberjalansebagaimanadenganseharusnya,karenapadasetiappemanggilanfungsimysql_fetch_row(),PHPakanmenggeserpenunjukbarisMySQLkebarisberikutnyadidalamtabel.Sehinggauntukpemanggilanmysql_fetch_row()ke2posisipointerMySQLakanberadadibariske2daritabel,danbegituseterusnyahinggapemanggilanmysql_fetch_row()ke5.
MenampilkanTabelMySQLDenganPerulanganForNamunjikaandaperhatikan,fungsimysql_fetch_row()yangditulissecaraberulangulangpadacontohsebelumnyamerupakanpekerjaanyangcocokuntukfungsiperulangan.Sehinggadenganmenggunakanperulanganfor,kodekitaakanmenjadilebihmudahditulis.
Fungsidiatasakanmenampilkanseluruhbarisyangadadidalamtabelmahasiswa_ilkomdenganmelakukanperulanganfungsimysql_fetch_row()sebanyak5kali.
12345678910111213141516
www.
dunia
ilkom.
com
23
-
Namunmasihada1hallagiyangbisakitaperbaikidariprogramdiatas.
MenampilkanTabelMySQLDenganPerulanganWhilePerulanganformengharuskankitauntukmenulislangsungjumlahperulanganyangharusdilakukan.Padasaatpenulisanprogram,kitatelahmengetahuibahwatabelmahasiswa_ilkomberisi5baris,Namunbagaimanajikaternyatadatadidalamtabelsaatinitidaklagi5,tetapisudahlebihdariitu?
Untukperulangandimanabanyaknyaperulangantidakdiketahuipadasaatpenulisanprogram,kitabisaberalihkeperulanganwhile(TutorialCaraPenulisanPerulanganWhiledalamPHP).
Untukmembuathalinimenjadilebihmudah,fungsimysql_fetch_row()akanmengembalikannilaiFALSEjikapointertelahberadadibaristerakhirtabelMySQL.Nilaikembalianinimenjadivariabelyangtepatuntukkondisiberhentipadaperulanganwhile.
Berikutadalahcontohprogrampenggunaanmysql_fetch_row()denganperulanganwhile:
KonsepperulanganwhilesepertidiatasakanseringandalihatuntukmenampilkandatadaridatabaseMySQL.
Selainmenggunakanfungsimysql_fetch_row(),PHPmasihmemilikifungsilainnyauntukmenampilkandatatabeldariMySQL,salahsatunyaadalahfungsimysql_fecth_array().
Fungsimysql_fecth_array()lebihfleksibelkarenakitatidakhanyabisamenggunakanangka,namunjuganamakolomsebagaikeyarray.Pembahasantentangfungsimysql_fecth_array()akankitapelajaridalamtutorialselanjutnya:CaraMenampilkanTabelMySQLdariPHP(mysql_fetch_array().
123456789101112131415
ww
w.du
niailko
m.co
m
24
-
MenampilkanTabelMySQLdenganfungsimysql_fetch_arrayFungsimysql_fetch_array()padadasarnyahampirsamadenganfungsimysql_fetch_row(),namunfungsimysql_fetch_array()memberikanalternatifcaramenampilkandataMySQLdenganlebihmudah.
Jikadalamfungsimysql_fetch_row()hasilfungsinyaberupaarraydengankeyatauindexnyaberupaangka,seperti:$row[1],$row[2]dan$row[3],makadidalammysql_fetch_array(),kitabisamenggunakannamakolomdaritabelMySQLsebagaikeyatauindexarraysepertiberikutini:$row[nim],$row[nama]dan$row[umur].Carapenulisansepertiiniakanmemudahkanpembuatanprogram.
Selainmenggunakannamakolompadaindexarray,fungsimysql_fetch_array()jugabisamenggunakanindexpenomorankolomsepertimysql_fetch_row(),ataubahkankeduanyasekaligus.Untukmengaturfiturini,fungsimysql_fetch_array()membutuhkanparametertambahan.
Berikutadalahformatdasarpenulisanfungsimysql_fetch_array()dalamPHP:
$rowadalahvariabelyangakanmenampunghasilfungsimysql_fetch_array().Hasildarifungsimysql_fetch_array()berupatipedataarraydengankeyyangbergantungkepadakonstantatipe_hasil.
$resultadalahvariabelhasilmenjalankanqueryMySQLyangberasardarifungsimysql_query().
tipe_hasilmerupakankonstantaopsionalyangdigunakanuntukmengaturindexarraydarihasilfungsimysql_fetch_array().Konstantayangbisadigunakanadalahsalahsatudariketiganilaiberikut:MYSQL_NUM,MYSQL_ASSOCatauMYSQL_BOTH.Jikaargumeninitidakditulis,nilaidefaultnyaadalahMYSQL_BOTH.
Perbedaanmysql_fetch_array:MYSQL_NUM,MYSQL_ASSOCdanMYSQL_BOTHCaramengaksesarraydarifungsimysql_fetch_array()bergantungkepadaargumentipe_hasil.Argumentipe_hasilhanyabisaberisisatudari3konstanta:MYSQL_NUM,MYSQL_ASSOCatauMYSQL_BOTH.
Jikaargumenkeduadarifungsimysql_fetch_array()diisiMYSQL_NUM,makaindexarrayakanmenjadiangka(samasepertihasilmysql_fetch_row()),danbisaditampilkanseperti:$row[1],$row[2]dan$row[3].
$row=mysql_fetch_array($result,[tipe_hasil])
www.
dunia
ilkom.
com
25
-
JikaargumenkeduadiisiMYSQL_ASSOC,indexarrayakanmenjadinamakolom,danbisaditampilkanseperti:$row[nim],$row[nama]dan$row[umur].
Opsiketiga,jikaargumendiisiMYSQL_BOTHmakaindexarraymendukung2pemanggilan,yakniberupaangkadannamakolom.
Samasepertifungsimysql_fetch_row(),mysql_fetch_row()hanyamembaca1barispadasekalipemanggilan.Jikatabelkitaterdiridari5baris,makafungsimysql_fecth_array()harusdiulangsebanyak5kali(ataumenggunakanmetodaperulanganwhilesepertiyangkitalakukanpadatutorialmysql_fetch_row().
CaraPenggunaanFungsimysql_fecth_array()Agarlebihmudahdipahami,langsungsajakitamasukkedalamcontohkodeprogram.Masihmenggunakancontohdatabaseuniversitasyangdibuatpadatutorialmysql_fetch_row(),kaliinisayaakanmenggunakanfungsimysql_fetch_array()untukmenampilkanhasilnya.
Berikutadalahcontohpenggunaanfungsimysql_fetch_array()dalamPHP:
123456789101112131415
www.
dunia
ilkom.
com
26
-
Dalamcontohdiatas,baris16merupakankodeprogramuntukmembuatkoneksidenganMySQL.Padabariske9,sayamembuatquerySELECT*FROMmahasiswa_ilkomyangakanmengembalikanseluruhisitabelmahasiswa_ilkom.
Jikadiperhatikan,kodeprogramdiatassamapersisdengancontohterakhirpadatutorialmysql_fetch_row(),hanyapadabariske10sayamenggantinyadenganfungsimysql_fetch_array().
KonstantaMYSQL_NUMpadaargumenke2fungsimysql_fetch_array(),menginstruksikankepadaPHPbahwanilaikembalianuntukvariabel$rowadalaharraydenganindexangka,sehinggahasilnyasamapersisdenganmysql_fetch_row()yangdiaksesdengan$row[0]untukkolompertamatabel,$row[1]untukkolomkeduatabel,danseterusnya.
JikamenggunakankonstantaMYSQL_NUMakanmembuatfungsimysql_fetch_array()samadenganmysql_fetch_row(),bagaimanadenganMYSQL_ASSOC?Dalamcontohberikut,sayaakanmengubahkonstantafungsimysql_fetch_array()denganMYSQL_ASSOC:
12345678910111213141516
www.
dunia
ilkom.
com
27
-
Padacontohkaliini,padabariske10,fungsimysql_fetch_array()sayapanggildengankonstantaMYSQL_ASSOCsebagaiargumenkedua.Dengancaraini,hasilkembalianquery,berupaarraydenganindexnamakolomdaritabelMySQL.
KarenamenggunakankonstantaMYSQL_ASSOC,carapengaksesannilai$rowharusmenggunakanindexnamakolomtabel.JikadidalamMySQLnamakolomadalahnim,makauntukmenampilkandatakolomtersebut,kitamenggunakan$row[nim].JikadidalamMySQLnamakolomadalahtempat_lahir,untukmenampilkandatakolomtersebut,adalahdengan$row[tempat_lahir],danseterusnya.
Dengancaraini,kitaakanmudahuntukmerancangtampilantabelMySQL,terutamajikaurutankolomtidakditampilkansecaraberurutan.
Untukpilihankonstantaterakhir:MYSQL_BOTH,MySQLakanmengembalikannilai$rowyangbisadiaksesbaikdenganindexangkamaupundenganindexnamakolom.Berikutadalahcontohkodeprogramnya:
Sepertiyangterlihat,sayamembuatperintah$row[0]dan$row[nama]dalampemanggilanyangsama,danPHPdapatmenampilkanhasilsesuaidenganyangdiharapkan.
Perludiketahui,padapanduanresmiPHP,fungsimysql_fetch_array()ditegaskantidakakanlebihlambatdaripadafungsimysql_fetch_row(),walaupunfungsimysql_fetch_array()menawarkanfiturtambahan.PengaksesanarrayhasilMySQLdenganmenggunakanangkamaupunnamaakansamacepatnya.
Padadasarnya,pengaksesanMySQLmelaluiPHP,hanyamembutuhkan3fungsiutama,yaknimysql_connect(),mysql_query(),danmysql_fecth_array().Sampaidisini,kitatelahmempelajariketigafungsipentingtersebut.
12345678910111213141516
ww
w.du
niailko
m.co
m
28
-
Dalamtutorialselanjutnya,kitaakanmempelajaricaramenampilkanpesanerrordariMySQLketikaqueryyangdijalankantidaksesuai.
www.
dunia
ilkom.
com
29
-
CaraMenampilkanPesanErrorMySQLdalamPHPAgarlebihinformatif,ketikaquerytidakberjalandengansemestinya,PHPmenyediakan2buahfungsiuntukmenampilkanpesanerrordariMySQL,yaitufungsimysql_errno()danmysql_error().Keduafungsiinimembutuhkan1buahargumenyangbersifatopsional,yaknivariabelhasilpemanggilanfungsimysql_connect().Namunjikaargumentidakditulis,PHPakanmenggunakankoneksiMySQLterakhiryangtersedia.
Fungsimysql_errno()akanmenampilkannomorataukodeerrorMySQL,sedangkanfungsimysql_error()akanmenampilkanpenjelasanerrortersebut.
ContohPenggunaanFungsimysql_errnodanmysql_errorSebagaicontohpenggunaankeduafungsitersebut,silahkanjalankankodeprogramberikutini:
12345678910111213141516171819
www.
dunia
ilkom.
com
30
-
Padakodediatas,sayamencobamenjalankanperintahuntukmenghapusdatabasetidak_adayangmemangtidaktersediadidalamMySQL.Jikakitamenjalankanquerytersebuttanpabantuanfungsimysql_errno()danmysql_error(),makakitatidaktahuapapesanerrordariMySQL.
Perhatikanjugabahwapadapemanggilanfungsimysql_error()padabaristerakhir,sayatidakmemberikanargumen,karenasifatnyayangopsional.
www.
dunia
ilkom.
com
31
-
CaraPenggunaanFungsimysql_num_rowsFungsimysql_num_rows()digunakanuntukmengetahuiberapabanyakjumlahbarishasilpemanggilanfungsimysql_query().Fungsiinimembutuhkan1buahargumen,yaknivariabelresourceshasildarifungsimysql_query().
Berikutadalahcontohpenggunaannya:
Jikakodediatasdijalankan,hasilyangdidapatadalahsebagaiberikut:
CaraPenggunaanFungsimysql_affected_rowsFungsimysql_affected_rows()digunakanuntukmengetahuijumlahbaristabelyangdikenaiprosesolehqueryMySQL.Hasilinibiasanyadiperlukanjikakitainginmengetahuidenganlebihdetailtentangprosesyangberlangsung.
Sebagaicontoh,kitainginmelakukanoperasiDELETEkepadasebuahtabel.Halinibisadilakukandenganfungsimysql_query.Namunkitatidakbisamengetahuiberapajumlahbarisyangtelahdihapus.
JikamenggunakanMySQL,informasiiniditampilkanlangsungsetelahquery:
123456789101112131415161718192021
1 Totalmahasiswaberjumlah5orangwww.
dunia
ilkom.
com
32
-
UntukmengambilinformasiinidariPHP,kitamenggunakanfungsimysql_affected_rows().Berikutadalahcontohpenggunaannya:
Dan,hasilyangditampilkanadalah:
Baikfungsimysql_num_rowsdanmysql_affected_rowsseringdigunakandidalamsituasidimanakitamembutuhkaninformasiterkaitqueryMySQLyangdijalankan.KeduafungsiinimelengkapifungsifungsilainyangtelahkitapelajarididalamtutorialPHPMySQLini.
123456789101112131415161718192021
-
PadatutorialPHPMySQLselanjutnya,kitaakanmembahascaramenampilkantabelMySQLdenganmenggunakanobjek(fungsimysql_fetch_object).
www.
dunia
ilkom.
com
34
-
PenggunaanObjekuntukMenampilkandataMySQLFungsimysql_fetch_rowdanmysql_fetch_arrayyangtelahkitapelajarisebelumnya,menggunakanarrayuntukmenampunghasilqueryMySQL.Sebagaicontoh,untukmenampilkanhasiltabelmahasiswa_ilkomdenganfungsimysql_fetch_array,kitamengaksesnyadengancaraberikut:
Dengankatalain,namakolomberfungsisebagaikeydariarray$row.
Selainmenggunakanarray,PHPjugamenyediakanfungsimysql_fetch_objectjikakitainginmengakseshasilquerymenggunakannotasiobjek.Namakolomakanberfungsisebagaipropertydariobjek$row.Menggunakancontohtabelmahasiswa_ilkom,makacaramengaksesnyaadalahsebagaiberikut:
Karaktertandapanah(>)digunakanuntukmengaksespropertydarisebuahobjekdidalamPHP.
MengenaipemrogramanberbasisobjekdidalamPHP,duniailkomtelahmembuattutoriallengkapjikaandainginmempelajariOOPPHP.SilahkanmengunjungiTutorialOOPPHP:PemrogramanBerbasisObjekdenganPHP.
CaraPenggunaanFungsimysql_fetch_objectSelainperbedaancaraaksesdiatas,carapenggunaanfungsimysql_fetch_objectuntukmenampilkantabelMySQL,hampirsamadenganfungsimysql_fetch_rowdanmysql_fetch_array.
Berikutadalahmodifikasikodeprogramyangsebelumnyakitagunakanpadatutorialmysql_fetch_arrayuntukmenampilkanseluruhisitabelmahasiswa_ilkom:
1 $row['nim'],$row['nama'],$row['umur'],$row['tempat_lahir'],dan$row['IPK']
1 $row>nim,$row>nama,$row>umur,$row>tempat_lahir,dan$row>IPK
12345678910111213141516
-
Jikaandatelahmempelajaritutorialmysql_fetch_arraydiduniailkomsebelumnya,makakodediatassangatmirip.Sayahanyamengubahfungsimysql_fetch_arraydenganmysql_fetch_object,lalumelakukanpenyesuaianuntukpengaksesanpropertyobjek$row.
PengaksesandenganobjekiniakanlebihlengkapapabilakitamenggunakanextensionmysqliatauPDO.Keduametodeiniakankitapelajaridalamtutorialterpisahnantinya.
Menutupcarapenggunaanmysqlextension(sebelumkitamasukkemysqliextension),dalamtutorialberikutnyasayaakanmencobamenkombinasikanHTML,CSS,PHPdanMySQLuntukmenampilkandatadengantampilanyangmenarik.SelanjutnyadalamTutorialPHPMySQL:CaraPenyajianDataMySQLdalambentuktabelHTMLdenganCSS.
17181920212223242526
digunakan");}//tampilkantabelmahasiswa_ilkom$result=mysql_query('SELECT*FROMmahasiswa_ilkom');while($row=mysql_fetch_object($result)){echo$row>nim."".$row>nama."".$row>umur."";echo$row>tempat_lahir."".$row>IPK;echo"";}?>
www.
dunia
ilkom.
com
36
-
MenyajikanDataMySQLdenganTabelHTMLdanCSSUmumnya,hasilqueryMySQLyangkitaambildaridatabaseakanditampilkankedalambentuktabel.DenganmengkombinasikanPHP,MySQL,HTMLdanCSS,kitabisamenampilkandatatabelMySQLdengandesainyangberagam.DalamtutorialPHPMySQLini,sayaakanmencobamenampilkantabelmahasiswa_ilkomdengantampilanakhirsepertigambarberikut:
TampilandiatasdidapatdenganmengkombinasikanPHP,MySQL,HTMLdanCSS.Danberikutadalahkodeprogramyangdigunakan:
1234567891011121314151617181920212223
www.
dunia
ilkom.
com
37
-
Kodediatasterasapanjang,terutamakarenadalamtutorialPHPMySQLsebeluminisayatidak
24252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
BelajarPHPMySQLh3{textalign:center;}table{bordercollapse:collapse;borderspacing:0;fontfamily:Arial,sansserif;fontsize:16px;paddingleft:300px;margin:auto;}tableth{fontweight:bold;padding:10px;color:#fff;backgroundcolor:#2A72BA;bordertop:1pxblacksolid;borderbottom:1pxblacksolid;}tabletd{padding:10px;bordertop:1pxblacksolid;borderbottom:1pxblacksolid;textalign:center;}tr:nthchild(even){backgroundcolor:#DFEBF8;}
PenyajianDataMySQLdalambentuktabelHTMLdenganCSS
NIMNamaUmurTempatLahirIPK
www.
dunia
ilkom.
com
38
-
menggunakanHTMLdanCSS.
KodePHPyangsayagunakandarikodeprogramdiatassamapersisdenganyangadadidalamtutorialPHPMySQLtentangmysql_fetch_array.AkantetapikaliinihasilnyadiletakkandidalamtabelHTML.
KoneksiPHPdenganMySQLdanjugafungsimysql_query()sayaletakkansebelumkodeHTML.HaliniumumdigunakanuntukmemisahkanPHPdenganHTML.
KodeCSSuntuktabelsayaletakkandibagian.KodeCSSdigunakanuntukmengubahbordertabel,warnabackgroud,padding,danukuranfont.Yangcukupmenarikadalahselectortr:nthchild(even).SelectorCSS3inidigunakanuntukmendapatkanefekzebradidalamtabel,ataudikenaldenganstrippedtable.Fiturinidigunakanagarsetiapbaristabelbisadibacadenganmudahkarenamemilikiwarnayangberbeda.
Didalamperulanganmysql_fetch_array(),hasildaritiapiterasiditempatkandidalamtag,sehinggalangsungmenyatudenganseltabel.
AndabisaberkreasidenganmengubahubahkodeHTMLatauCSSdiatasuntukmendapatkanhasilyangsesuai.
DuniailkomtelahmembuattutoriallengkapmengenaiTabelHTML,danCSSDasar.JikaandakurangmemahamitentangkodeHTMLdanCSSyangdigunakanpadatutorialkaliini,janganraguuntukmempelajarinya.
DalamtutorialPHPMySQLberikutnya,kitaakanmulaimembahastentangmysqliextensiondidalampemrogramanPHP.
www.
dunia
ilkom.
com
39
-
PerbedaanAntaramysqlextensionDenganmysqliextensionSepanjangtutorialPHPMySQLPart4sampai11diduniailkomini,kitamenggunakanextensionmysqldariPHPuntukmengaksesMySQL.Fungsifungsiyangkitapelajaritersebut(sepertifungsimysql_connect,mysql_query,danmysql_fetch_array)memangsudahtidakdisarankanlagi,tetapisayatetapmembahasnyasebagaidasarbagikitauntukmasukkeextensionyanglebihmodern:mysqlidanPDO.
TerhitungdariPHPversi5.5,extensionmysqltidaklagidisarankanpenggunaannyadanberstatusdeprecated,yangberartimungkinakandihapuspadaPHPversiberikutnya.ProgrammerdisarankanuntukberalihmenggunakanmysqliatauPDO.Dalamtutorialkaliinikitaakanmembahasmysqliterlebihdahulu.
MysqlimerupakankependekandariMySQLImprovedExtension.Sepertiyangterlihatdarinamanya,extensioninimerupakanversiperbaikandanpenambahandariextensionmysqlsebelumnyayangumumdigunakan.ExtensionmysqlidibuatuntukmendukungfiturfiturterbarudariMySQLServerversi4.1keatas.
Secaragarisbesar,tidakadaperbedaanmencolokantaramysqlextensiondenganmysqliextension.Namanamafungsididalammysqlisebagianbesarmiripdenganapayangtelahkitapelajari(extensionmysql).
Sebagaicontoh,untukmembuatkoneksidenganMySQLServer,didalammysqlkitamenggunakanfungsimysql_connect(),sedangkandidalammysqli,kitamenggunakanmysqli_connect().Begitujugadenganfungsilainsepertimysql_query()menjadimysqli_query().
Selainmenambahhurufididalamnamafungsi,argumenargumenyangdibutuhkanjugahampirmirip.Perbedaannya,jikadidalamextensionmysqlumumnyakitameletakkanargumenresourcesdiakhirfungsi,makadidalammysqli,argumeniniditeletakkandiawal.
Sebagaicontoh,didalammysqlkitamenulis:
Sedangkandidalammysqlipenulisannyamenjadi:
Namunperbedaanpalingmendasardidalammysqliadalah:mysqlimendukungcarapenulisanobjectorientedprogramming.
Mengenal2jenisMysqliStyle:ProceduraldanObject
1 mysql_query("SELECT*FROMmahasiswa_ilkom",$link)
1 mysqli_query($link,"SELECT*FROMmahasiswa_ilkom")
www.
dunia
ilkom.
com
40
-
OrientedAgarprosesmigrasidarimysqlkemysqlitidakterlalumenyusahkan,PHPmemberikan2alternatifcarapenulisanmysqli.
Carayangpertamaadalahmenggunakanproceduralstyle.Carainimiripdenganextensionmysql,dimanakitamenggunakanfungsifungsiuntukmengaksesdatabaseMySQL.
Carakeduaadalahdenganobjectorientedstyle.Dengancaraini,kitamenggunakanaturanpenulisanpemrogramanobjekuntukberkomunikasidenganMySQL.
Keduajenisstylepemrogramanmysqliinimenggunakannamafungsidanmethodyangkuranglebihsama.Sebagaicontoh,didalamproceduralstylemysqli,terdapatfungsimysqli_query(),sedangkandalamOOPstylemysqli,kitamenggunakanmethod$mysqli>query().Kitaakanmembahaslebihdalamtentangcarapenggunaan2styleininantinya.
DidalamtutorialPHPMySQLkaliinikitatelahmembahasperbedaanextensionmysqldenganextensionmysqliyanglebihbaru.SesuaidenganinstruksidarimanualMySQL,sebaiknyakitatidakmenggunakanlagiextensionmysql.
Dalamtutorialselanjutnya,kitaakanmulaimembahascarapenggunaanmysqliextension.BerikutnyadalamtutorialPHPMySQLduniailkom:CaraMenampilkanDatadenganmysqliPHPmenggunakanproceduralstyle.
www.
dunia
ilkom.
com
41
-
CaraMembuatKoneksiMySQLDenganFungsimysqli_connect()UntukmembuatkoneksiantaraPHPdenganMySQLServer,kitamenggunakanfungsimysqli_connect().Fungsimysqli_connect()inimembutuhkanargumenyangsamadenganfungsimysql_connect(),yakni:alamathost,namauser,danpassworduser.
Sebagaicontoh,untukmasukkedalamMySQLdilocalhostmenggunakanuserrootdandenganpasswordqwerty,kitamenggunakankodeprogramsebagaiberikut:
Sebagaifiturtambahan,fungsimysqli_connect()memilikiargumenke4yangbersifatopsional.Kitabisamenambahkannamadatabaseyangingindigunakan.MisalkankitainginsewaktuproseskoneksidenganMySQL,langsungmemilihdatabaseuniversitas,makacontohpenulisannyaadalahsebagaiberikut:
CaraMenutupKoneksiDenganFungsimysqli_close()WalaupunPHPakanmenutupkoneksidenganMySQLpadasaathalamanselesaidiproses,kitabisamenutupnyasecaramanualmenggunakanfungsimysqli_close().Fungsiinimembutuhkan1argumen,yaknivariabelresourceshasilpemanggilanfungsimysqli_connect().
Berikutcontohpenggunaanfungsimysqli_close():
CaraMenjalankanQueryMySQLDenganFungsimysqli_query()
123
123
1234567891011
www.
dunia
ilkom.
com
42
-
CaramenjalankanqueryMySQLdenganmysqliextensionjugamiripdenganmysqlextension.Didalammysqli,kitamenggunakanfungsimysqli_query().Namunberbedadenganfungsimysql_query()yangmeletakkanvariabelresourceshasilmysql_connect()sebagaiargumenkeduadanbersifatopsional,didalamfungsimysqli_query(),variabelinidiletakkansebagaiargumenpertamadanharusditulis.
Sebagaicontoh,denganmenggunakanmysql_extension,kitabiasamenuliskodePHPsebagaiberikut:
Sedangkandenganmenggunakanmysqliextension,berikutadalahperubahancarapenggunaannya:
Perhatikanbahwakitamenggunakanformat:mysqli_query($link,query_MySQL)untukmenjalankanqueryMySQL.
CaraMenampilkanDataMySQLDenganmysqliUntukmenampilkanhasilqueryMySQL,mysqliextensionmemilikibanyakfungsi.Kaliinikitaakanmembahas3fungsiyangpalingseringdigunakan:mysqli_fetch_row(),mysqli_fetch_array(),danmysqli_fetch_object().
Ketigafungsiinihampirsamacarapenggunaannyadenganversimysqlextensionyangtelahkitabahas,yakni:mysql_fetch_row(),mysql_fetch_array(),danmysql_fetch_object().Jikaandaperhatikan,perbedaannamanyahanyadenganmenambahhurufi.
Langsungsajakitamasukkecontohprogram,untukmemahamicarapenggunaanketigafungsiini.Didalamcontohcontohberikutsayamenggunakantabelmahasiswa_ilkomdidalamdatabaseuniversitas.Tabelinikitabuatsewaktumembahastentangfungsimysql_fetch_row.
12345678910
1234567
www.
dunia
ilkom.
com
43
-
Pertama,marikitalihatcaramenampilkandataMySQLdenganfungsimysqli_fetch_row():
Fungsimysqli_fetch_row()samapersiscarapenggunaanyadenganfungsimysql_fetch_row(),olehkarenaitusayatidakakanmembahasnyalagi.Tapijikaandaragu,bisamengunjungitutorialnyadiCaraMenampilkanTabelMySQLdariPHPdenganfungsimysql_fetch_row.
Berikutnya,kitabahascaramenampilkandataMySQLdenganfungsimysqli_fetch_array():
Sedikitperbedaanantarafungsimysqli_fetch_array()denganfungsikembarannyamysql_fetch_array(),kaliinistringpenentumetodaarrayberadapadaargumenkedua.Argumenpertamaadalahvariabelresourceshasilpemanggilanfungsimysqli_query().StringMYSQLI_ASSOCdigunakanagarkeyarraydapatdiaksesdengannama.StringlainyangbisakitagunakanadalahMYSQL_NUMdanMYSQL_BOTH.PerbedaanketiganyatelahkitabahaslengkapdalamTutorialPHPMySQL:CaraMenampilkanTabelMySQLdariPHPdenganmysql_fetch_array.
1234567891011121314
123456789101112131415
www.
dunia
ilkom.
com
44
-
Caraketigayangakankitabahasadalahdenganmenggunakanfungsimysqli_fetch_object().Fungsiinisamadenganfungsimysql_fetch_object(),dimanakitamengakseshasilquerysebagaiobjek.BerikutadalahcontohkodePHPnya:
Jikaandabutuhpenjelasanmengenaicarapenggunaanmysqli_fetch_object(),silahkankunjungiTutorialPHPMySQL:CaraMenampilkanTabeldenganobjek(mysql_fetch_object).
DalamtutorialPHPMySQLkaliinikitatelahmembahastentangcarapenggunaanmysqliuntukmenampilkandatadaridatabaseMySQL.
Sepertiyangpernahkitabahas,mysqlimemiliki2carapenulisan(2jenisstyle).Selaindengancaraproceduralsepertidalamtutorialini,didalamtutorialselanjutnyakitaakanmembahascarapenggunaanmysqlidenganobjectorientedstyle.
123456789101112131415
www.
dunia
ilkom.
com
45
-
CaraPenulisanObjectStylemysqliSebagaicarakoneksiyanglebihbarudaripadamysqlextension,mysqlimemiliki2jenisstyle,yakniproceduralstyledanobjectorientedstyle.Kecendrunganpemrogramansaatinilebihbanyakmenggunakanobjek.UntukhalinilahPHPjugamenyediakanmysqlidenganrasaobjek.
Pemrogramanberbasisobjeklebihbanyakdisukaikarenacenderungrapidanmudahdikembangkan,terutamajikakitamengerjakanproyekbesaryangbutuhribuanbarisprogram.KonsepOOPsepertiinheritance,encapsulationdanpolymorfismmembuatprogrammenjadilebihtertata.
JikaandabaruberkenalandenganPHPataukonseppemrogramansecaraumum,pemrogramanberbasisobjekmungkinakanterasamembingungkan.OOPmembutuhkanalurpenulisanprogramyangberbedadibandingkanmetodeproceduralyangkitapelajarihinggasaatini.
SayasangatmenyarankanandauntukmulaiberalihmenggunakanOOP.KarenadenganOOPlahtingkatpemahamandanpengalamankitanaiklevel.JikaandabermaksudseriusmempelajaritentangPHP,duniailkomtelahmembuattutoriallengkapmengenaikonsepOOP,didalamTutorialPemrogramanBerbasisObjekPHP.
Langsungsajakitalihatbagaimanacarapenggunaanobjekdidalammysqli.
DidalamtutorialinisayaberasumsiandatelahmemahamisedikittentangOOPPHP.Terutamacarapemanggilanconstructor(carapembuatanobjek)dancarapemanggilanmethodobjek(menggunakantandapanah>).
CaraMembuatKoneksidenganMySQL(mysqliconstructor)UntukmembuatkoneksiMySQLdenganPHPmenggunakanmysqliobjectstyle,caranyaadalahdenganmenggunakanmysqliconstructor.Constructormysqliadalahsejenisfungsiyangdigunakanuntukmembuatobjectbarudariclassmysqli.
Argumendidalamconstruktormysqliinisamapersisdenganargumenfungsimysqli_connect(),yaknilokasikomputer,namauser,danpassworduser.
Berikutadalahcaramembuatkoneksimysqlidilocalhostuntukuserrootdenganpasswordqwerty:
123
www.
dunia
ilkom.
com
46
-
Padakodediatas,sayamembuatobjek$linkdariclassmysqli.DidalamOOP,keywordnewdigunakanuntukmembuatobjekbaru.Denganobjek$linkhasilmysqliconstructorinilahprosesqueryMySQLnantinyakitajalankan.
Samasepertifungsimysqli_connect(),constructormysqlijugamemilikiargumentambahan,yakninamadatabaseyangingindigunakan.Jikakitainginlangsungmengaksesdatabaseuniversitas,makakodeprogramnyamenjadi:
CaraMenutupKoneksiMySQLDenganMethodmysqli::close()WalaupunPHPakanlansungmenutupkoneksikeMySQLjikahalamantelahselesaidiproses,namunkitajugabisamenutupnyasecaramanualmenggunakanmethodclose()dariobjekmysqli,ataubiasaditulissebagaimysqli::close().Berikutcontohpenggunaannya:
CaraMenjalankanQueryMySQLDenganMethodmysqli::query()Jikadidalampenulisanproceduralkitamenggunakanfungsimysqli_query()untukmenjalankanqueryMySQL,makadidalamobjekstyle,kitamengaksesnyamenggunakanmethodmysqli::query().
Agarlebihmudahdipahami,langsungsajakitamasukkedalamcontohkodeprogram:
123
1234567891011
1234567
-
Perhatikanbahwadidalamprosespemanggilanmethodquery(),kitamembutuhkan1argumen,yakniqueryMySQLyangakandijalankan.
CaraMenampilkanDataMySQLDenganmysqliobjectstyleUntukmenampilkanhasilqueryMySQL,mysqliobjectmemilikibanyakmethod.Kaliinikitaakanmembahas3carayangpalingseringdigunakan,yaknimethodfetch_row(),fetch_array()danfetch_object().Carapenggunaanketigamethodinihampirsamadenganpadananfungsinyadiproceduralstyle,yaknidenganfungsimysqli_fetch_row(),mysqli_fetch_array(),danmysqli_fetch_object().
Agarlebihjelas,langsungsajakitamasukkedalamcontohkodeprogramuntukmenampilkanseluruhisidatadaritabelmahasiswa_ilkom.
Pembahasanpertama,yaknicaramenampilkandatamysqlidenganmethodfetch_row().Berikutadalahcontohkodeprogramnya:
Dalamcontohdiatas,sayamengunakanmethodfetch_row()dariobjek$resultyangmerupakanobjekhasilpemanggilanmethodquery().Methodfetch_row()initidakmemerlukanargumenapapun,sehinggakitamemanggilnyadengancara$result>fetch_row().
Carakeduauntukmenampilkandatamysqliadalahdenganmethodfetch_array().Berikutcontohkodeprogramnya:
$result=$link>query("SELECT*FROMmahasiswa_ilkom");?>
1234567891011121314
123
-
Samasepertimethodfetch_row(),methodfetch_array()jugadiaksesdariobjek$resultyangmerupakanhasilpemanggilanquery.
Methodfetch_array()membutuhkan1argumen,berupastringyangberisibagaimanacaraarrayhasilmethodakandiakases.Stringinibisadipilihdarisalahsatunilai:MYSQL_NUM,MYSQL_ASSOCatauMYSQL_BOTH.Lebihlengkaptentangperbedaanketiganyatelahkitabahasdalamtutorialmengenaifungsimysql_fetch_array().
Caraketigayangakankitabahasuntukmenampilkandatamysqli,adalahdenganmethodfetch_object().Berikutcontohpengunaanya:
Carapenggunaanmethodfetch_object()hampirsamadenganmethodmethodsebelumnya,yaknidiaksesdariobjek$resulthasilmenjalankanqueryMySQL.
DalamtutorialPHPMySQLkaliinikitatelahmembahascarapenggunaanmysqliextensionyang
456789101112131415
$link=newmysqli("localhost","root","qwerty","universitas");//jalankanquery$result=$link>query("SELECT*FROMmahasiswa_ilkom");//tampilkanquerywhile($row=$result>fetch_array(MYSQLI_ASSOC)){echo$row['nim']."".$row['nama']."".$row['umur']."";echo$row['tempat_lahir']."".$row['IPK'];echo"";}?>
123456789101112131415
www.
dunia
ilkom.
com
49
-
berbasisobject.Tutorialmysqliinidanjugatutorialsebelumnyatentangmysqliproceduralsayabuatsesingkatmungkintanpamenggunakanproseduruntukpenanganankesalahan.Misalnya,bagaimanamengecekapakahkoneksidenganMySQLsudahterhubungataubelum.
Dalamtutorialberikutnya,akankitabahassecaramendalammengenaibeberapafungsidanmethodmysqliyangdigunakanuntukpenanganankesalahan.
www.
dunia
ilkom.
com
50
01 Tutorial Cara Menjalankan MySQL dan PHP menggunakan XAMPP _ Dunia Ilkom.pdf02 Jenis Koneksi PHP MySQL_ PDO, mysqli, dan mysql extension _ Dunia Ilkom.pdf03 Pengertian Extension PHP dan Cara Setting mysql extension _ Dunia Ilkom.pdf04 Cara Membuat Koneksi PHP MySQL_ fungsi mysql_connect _ Dunia Ilkom.pdf05 Cara Menjalankan query MySQL dari PHP_ fungsi mysql_query _ Dunia Ilkom.pdf06 Cara Menampilkan Tabel MySQL dari PHP_ fungsi mysql_fetch_row _ Dunia Ilkom.pdf07 Cara Menampilkan Tabel MySQL dari PHP (mysql_fetch_array) _ Dunia Ilkom.pdf08 Cara Menampilkan Pesan Error MySQL (mysql_errno, mysql_error) _ Dunia Ilkom.pdf09 Cara Menampilkan Jumlah Baris Tabel MySQL dengan PHP _ Dunia Ilkom.pdf10 Cara Menampilkan Tabel MySQL dengan objek (mysql_fetch_object) _ Dunia Ilkom.pdf11 Cara Penyajian Data MySQL dalam bentuk tabel HTML dengan CSS _ Dunia Ilkom.pdf12 Perbedaan mysql dengan mysqli extension PHP MySQL _ Dunia Ilkom.pdf13 Cara Menampilkan Data dengan mysqli PHP (procedural style) _ Dunia Ilkom.pdf14 Cara Menampilkan Data dengan mysqli PHP (Object Style) _ Dunia Ilkom.pdf