Jumat, 27 Maret 2020

Bimbingan Php : Fungsi Try Catch Pada Pdo

Jika menggunakan PHP PDO mungkin Anda akan menemukan beberapa orang menggunakan block try   Tutorial PHP : Fungsi try catch pada PDO

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

Parameter tersebut digunakan untuk memperlihatkan error/kesalahan  dari instruksi yang Anda buat. Misalnya dikala Anda melakukan kesalahan penyeleksian pada tabel di database, mengeset parameter ketika update atau melakukan get dsb, jika Anda secara tidak sengaja menulis kesalahan, maka PHP akan menginformasikan letak kesalahan yang Anda buat

Parameter try catch biasanya akan didefinisikan apalagi dahulu didalam perintah untuk melakukan koneksi ke database, contohnya mirip berikut ini :

 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 contohnya dikala melakukan operasi query database, contohnya seperti berikut ini :

contoh :

 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 memperlihatkan pesan kesalahan, hanya saja akan terjadi error misalnya mirip Fatal error : : Uncaught PDOException: karena anda tidak mendifinisikan block try catch didalam parameter query

Tutorial PHP : CRUD PDO OOP PHP



Sumber https://root93.blogspot.com


EmoticonEmoticon