Tutorial PHP : Fungsi try catch pada PDO

Try catch didalam koneksi

Jika menggunakan PHP PDO mungkin Anda akan menemukan beberapa orang menggunakan block try dan catch pada koneksi ataupun parameter query yang dibangun, namun apa sebenarnya fungsi dari block parameter try catch tersebut ?

Parameter tersebut digunakan untuk menampilkan error/kesalahan  dari kode yang Anda buat. Misalnya saat Anda melakukan kesalahan pemilihan pada tabel di database, mengeset parameter saat update atau melakukan get dsb, jika Anda secara tidak sengaja menulis kesalahan, maka PHP akan memberitahu letak kesalahan yang Anda buat

Parameter try catch umumnya akan didefinisikan terlebih dahulu didalam perintah untuk melakukan koneksi ke database, contohnya seperti berikut ini :


<?php


        
class database
{
        private $host="localhost";
        private $user="root";
        private $pass="";
        private $db="codexam";
        protected $koneksi;
        public function __construct(){

                try
                {
                                $this->koneksi = new PDO("mysql:host=$this->host; dbname=$this->db",$this->user, $this->pass);
                                $this->koneksi->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                }
                catch(PDOException $e)
                {
                                echo $e->getMessage();
                }
                return $this->koneksi;
        }
                
}

?>

Selanjutnya parameter try catch juga perlu didefinisikan kembali misalnya saat melakukan operasi query database, contohnya seperti berikut ini :

contoh :


<?php
class crud extends database
{
        
        
        public function showData()
        {
                $sql ="SELECT * FROM tb_mahasiswa";
                $stmt=$this->koneksi->prepare($sql);
                $stmt->execute();
                return $stmt;
        }
        public function insertData($nim, $nama)
        {
                try
                {
                        $sql="INSERT INTO tb_mahasiswa(nim, nama_mahasiswa) VALUES (:nim, :nama_mahasiswa)";
                        $stmt=$this->koneksi->prepare($sql);
                                $stmt->bindParam(":nim",$nim);
                                $stmt->bindParam(":nama_mahasiswa", $nama);
                                $stmt->execute();
                                return true;
                }
                catch(PDOException $e)
                {
                                echo $e->getMessage();
                                return false;
                                
                        
                }
        }
        public function detailData($data)
        {
                # GET DATA
                try
                {
                        $sql ="SELECT id_mahasiswa, nim, nama_mahasiswa FROM tb_mahasiswa WHERE id_mahasiswa=:id_mahasiswa";
                        $stmt=$this->koneksi->prepare($sql);
                        $stmt->bindParam(":id_mahasiswa",$data);
                        $stmt->execute();
                        $stmt->bindColumn(1, $this->id_mahasiswa);
                        $stmt->bindColumn(2, $this->nim);
                        $stmt->bindColumn(3, $this->nama_mahasiswa);
                        $stmt->fetch(PDO::FETCH_ASSOC);
                        if($stmt->rowCount()==1):
                                return true;
                        else:
                                return false;
                        endif;

                        
                }
                catch(PDOException $e)
                {
                        echo $e->getMessage();
                        
                }
        }
        public function detailData_duatest($data)
        {
                # Sample GET DATA by ID
                try
                {
                        $sql ="SELECT id_mahasiswa, nim, nama_mahasiswa FROM tb_mahasiswa WHERE id_mahasiswa=:id_mahasiswa";
                        $stmt=$this->koneksi->prepare($sql);
                        $stmt->execute(array(":id_mahasiswa"=>$data));
                        $this->row=$stmt->fetch(PDO::FETCH_ASSOC);
                        return $this->row;
                }
                catch(PDOException $e)
                {
                        echo $e->getMessage();
                }
        }
        public function updateData($nim, $nama, $data)
        {
                try
                {
                        $sql="UPDATE tb_mahasiswa SET nim=:nim, nama_mahasiswa=:nama_mahasiswa WHERE id_mahasiswa=:id_mahasiswa";
                        $stmt=$this->koneksi->prepare($sql);
                        $stmt->bindParam(":nim",$nim);
                        $stmt->bindParam(":nama_mahasiswa",$nama);
                        $stmt->bindParam(":id_mahasiswa",$data);
                        $stmt->execute();
                        return true;
                }
                catch(PDOException $e)
                {
                        echo $e->getMessage();
                        return false;
                }
        }
        public function delete ($data)
        {
                try{
                        $sql="DELETE FROM tb_mahasiswa WHERE id_mahasiswa=:id_mahasiswa";
                        $stmt=$this->koneksi->prepare($sql);
                        $stmt->execute(array("id_mahasiswa"=>$data));
                        return true;
                }
                catch(PDOException $e)
                {
                        echo $e->getMessage();
                        return false;
                }
        }
}
?>

Jika parameter tersebut tidak Anda definisikan, PHP akan tetap menampilkan pesan kesalahan, hanya saja akan terjadi error misalnya seperti Fatal error : : Uncaught PDOException: sebab anda tidak mendifinisikan block try catch didalam parameter query

error tanpa try catch

Jika parameter try catch didefinisikan kembali didalam parameter query yang dibangun, maka saat terjadi error, maka error yang ditampilkan akan lebih baik serta tidak terlalu panjang jika dibaca

error dengan try catch

Baca juga : Tutorial PHP : CRUD PDO OOP PHP


0 Response to " Tutorial PHP : Fungsi try catch pada PDO"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin

nagabet76slot gacorslot online1213141516Slot Online Menghadirkan Pengalaman Digital Yang Didukung Pemrosesan Data Secara Real TimeMahjongways Menganalisis Pola Visual Dan Dinamika Simbol Berdasarkan Pemrosesan Data DigitalMahjongways Mengembangkan Dinamika Permainan Melalui Pengelolaan Data Dan Elemen Visual TerintegrasiAnalisis Komputasi Modern Membantu Memetakan Dinamika Sistem Digital Berdasarkan Data ObservasiMember Baru Mendorong Dinamika Komunitas Digital Menuju Pengalaman Yang Lebih Aktif Dan Menarikslot onlinemahjongwayasarsitektur layananpemrosesan data adaptifmember baruSlot Online Terbaru Menghadirkan AnalisisScatter Hitam Dianalisis Melalui PemetaanPola Scatter Hitam Membentuk Distribusi Visual Yang Dapat Dikaji Menggunakan Komputasi AdaptifArsitektur Teknologi TerdistribusiTeknologi Visualisasi DataMahjongways Mengembangkan Interaksi Visual Melalui Integrasi Simbol Digital Yang DinamisAnalisis Mahjongways Memetakan Dinamika Visual Dan Respons Antarmuka Berbasis DataScatter Hitam Dianalisis Melalui Pemetaan Struktur Simbol Digital Berbasis Komputasi AdaptifAlgoritma Scatter Hitam Membantu Mengidentifikasi Dinamika Pola Melalui Analisis Data ObservasiPg Soft Mengembangkan Sistem Rendering Adaptif Untuk Mendukung Visualisasi Digital ModernTeknologi Pg Soft Mengoptimalkan Pemrosesan Grafis Melalui Arsitektur Rendering TerintegrasiTeknologi Pemodelan Data Membantu Menganalisis Dinamika Informasi Pada Ekosistem Digital ModernArsitektur Komputasi Terdistribusi Meningkatkan Keandalan Pengelolaan Data Pada Platform DigitalTeknologi Kecerdasan Komputasional Mendorong Pengembangan Sistem Digital Yang Lebih AdaptifPemrosesan Data Modern Membantu Memetakan Pola Informasi Melalui Pendekatan Komputasi TerukurTeknologi Integrasi Data Mempermudah Sinkronisasi Informasi Dalam Lingkungan Digital TerpaduVisualisasi Komputasi Modern Membantu Menginterpretasikan Perubahan Pola Pada Sistem Digital KompleksTeknologi Otomasi Data Meningkatkan Efisiensi Pengelolaan Informasi Pada Infrastruktur DigitalModel Komputasi Adaptif Mendukung Pengembangan Teknologi Digital Melalui Analisis Data BerkelanjutanPengembangan Pg Soft Mengintegrasikan Teknologi Rendering Dengan Interaksi Visual Yang ResponsifPg Soft Menerapkan Komputasi Visual Untuk Meningkatkan Efisiensi Pengolahan Elemen DigitalEksplorasi Scatter Hitam Memetakan Distribusi Simbol Melalui Model Analitik Digital TerintegrasiPola Scatter Hitam Dikaji Menggunakan Pendekatan Visualisasi Data Dan Pemodelan StatistikMahjongways Menghadirkan Pendekatan Visual Interaktif Melalui Pemrosesan Simbol Yang AdaptifEksplorasi Mahjongways Mengungkap Perubahan Pola Visual Dalam Lingkungan Digital Terintegrasikasino online dan perubahan cara pengguna menilai keamanan platform digitalmengapa promosi kasino online sering memengaruhi harapan pengguna baruketika tampilan mewah kasino online membentuk kesan kepercayaan penggunapengaruh cerita kemenangan orang lain terhadap minat mengakses kasino onlinekasino online dalam fenomena perubahan pola konsumsi hiburan masyarakatbagaimana kasino online memanfaatkan desain interaktif untuk menarik perhatianalasan sebagian pengguna kasino online lebih mengingat bonus daripada risikoketika kemudahan transaksi mengubah kebiasaan pengguna kasino onlinekasino online dan tantangan menjaga kesadaran finansial di era serbadigitalmengapa ulasan pengguna dapat membentuk persepsi terhadap kasino onlinemahjong online dan perubahan cara generasi digital mengenal permainan klasikmengapa mahjong online menarik perhatian komunitas pecinta permainan strategiketika animasi modern memberikan identitas baru pada mahjong onlineperan fitur multiplayer dalam membangun interaksi pemain mahjong onlinemahjong online membawa warisan permainan asia ke dalam ekosistem digitalbagaimana mahjong online mengadaptasi simbol tradisional menjadi desain modernpengaruh tampilan antarmuka terhadap kenyamanan pengguna mahjong onlinemahjong online dan fenomena berkembangnya komunitas permainan lintas generasimengapa variasi aturan mahjong online menjadi topik menarik bagi pemain baruperjalanan mahjong online dari hiburan berbasis browser menuju platform mobile