Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

Pengoperasian CRUD yang mudah dengan Koneksi Database PDO

Basis data ada di mana-mana dan tidak ada aplikasi PHP praktis yang bisa ada tanpa basis data. Sejak awal, PHP menawarkan beberapa cara untuk berinteraksi dengan semua DBMS populer. Misalnya, dua cara populer untuk berinteraksi dengan database berbasis MySQL adalah mysql dan mysqli.

Selama bertahun-tahun, basis data telah berkembang pesat dan sekarang beberapa vendor berbeda menawarkan DBMS populer yang mendukung aplikasi PHP modern. Untuk membakukan dan merampingkan praktik pengembangan, PHP memperkenalkan PHP Data Objects (PDO) di PHP 5.1. Objek ini digunakan untuk menyiapkan koneksi database PDO.

PDO adalah lapisan akses database yang menyediakan antarmuka yang cepat dan konsisten untuk mengakses dan mengelola database dalam aplikasi PHP. Setiap DBMS memiliki driver PDO khusus yang harus diinstal saat Anda menggunakan PDO dalam aplikasi PHP.

Basis Data yang Didukung

Nama driver Database yang Didukung

PDO_CUBRID Cubrid
PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD Firebird
PDO_IBM IBM DB2
PDO_INFORMIX Server Dinamis IBM Informix
PDO_MYSQL MySQL 3.x/4.x/5.x
PDO_OCI Antarmuka Panggilan Oracle
PDO_ODBC ODBC v3 (IBM DB2, unixODBC, dan win32 ODBC)
PDO_PGSQL PostgreSQL
PDO_SQLITE SQLite 3 dan SQLite 2
PDO_SQLSRV Microsoft SQL Server / SQL Azure
PDO_4D 4D

Secara default, PHP telah menginstal driver PDO_SQLite. Namun, jika Anda ingin bekerja dengan database lain, Anda harus menginstal driver yang relevan terlebih dahulu.

untuk memeriksa driver apa yang diinstal pada sistem Anda, buat file PHP baru dan tambahkan cuplikan kode berikut ke dalamnya:

<?php

print_r(PDO::getAvailableDrivers());

?>

Bekerja Dengan PDO

PDO menggantikan semua pendekatan interaksi database sebelumnya. Menggunakan PDO, Anda dapat dengan mudah melakukan CRUD dan operasi DBMS terkait. Akibatnya, PDO bertindak sebagai lapisan yang memisahkan operasi terkait basis data dari kode lainnya.

Anda mungkin juga menyukai:  CRUD sederhana di PHP dan MySQL

Konektivitas

Salah satu manfaat paling penting dari PDO adalah konektivitas database yang sederhana dan sangat mudah. Pertimbangkan cuplikan kode berikut yang digunakan untuk menyiapkan koneksi dengan database. Perhatikan bahwa ketika DBMS yang mendasarinya berubah, satu-satunya perubahan yang perlu Anda lakukan adalah tipe database.

<?php

Class Connection {

private  $server = "mysql:host=localhost;dbname=cloudways";

private  $user = "root";

private  $pass = "";

private $options  = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,);

protected $con;
 
          	public function openConnection()

           	{

               try

                 {

	        $this->con = new PDO($this->server, $this->user,$this->pass,$this->options);

	        return $this->con;

                  }

               catch (PDOException $e)

                 {

                     echo "There is some problem in connection: " . $e->getMessage();

                 }

           	}

public function closeConnection() {

   	$this->con = null;

	}

}

?>

Dalam potongan kode di atas, perhatikan bahwa DBMS adalah MySQL. Namun, jika DBMS berubah menjadi MS SQL Server, satu-satunya perubahan adalah penggantian mysql dengan mssql.

Catatan: PDO dapat menangani pengecualian. Oleh karena itu, selalu bungkus operasinya dalam blok try and catch.


Berhenti Membuang Waktu di Server

Cloudways menangani manajemen server untuk Anda sehingga Anda dapat fokus membuat aplikasi hebat dan membuat klien Anda senang.

Mulai Gratis


Membuat Tabel Dengan PDO

Untuk membuat tabel, pertama-tama deklarasikan string kueri lalu jalankan dengan exec berfungsi karena tidak ada data yang dikembalikan.

<?php

include_once 'connection.php';

try

{

     $database = new Connection();

     $db = $database->openConnection();

     // sql to create table

     $sql = "CREATE TABLE `Student` ( `ID` INT NOT NULL AUTO_INCREMENT , `name`VARCHAR(40) NOT NULL , `last_ame` VARCHAR(40) NOT NULL , `email` VARCHAR(40)NOT NULL , PRIMARY KEY (`ID`)) ";

     // use exec() because no results are returned

     $db->exec($sql);

     echo "Table Student created successfully";

     $database->closeConnection();

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

Memasukkan Data Dengan PDO

Untuk menyisipkan data ke dalam tabel menggunakan PDO, pertama-tama siapkan kueri menggunakan persiapkan penyataan. Selanjutnya, kueri ini dijalankan dengan eksekusi fungsi. Perhatikan bahwa praktik ini mencegah serangan injeksi SQL.

<?php

include_once 'connection.php';

try

{

    $database = new Connection();

    $db = $database->openConnection();

    // inserting data into create table using prepare statement to prevent from sql injections

    $stm = $db->prepare("INSERT INTO student (ID,name,last_name,email) VALUES ( :id, :name, :lastname, :email)") ;

    // inserting a record

    $stm->execute(array(':id' => 0 , ':name' => 'Saquib' , ':lastname' => 'Rizwan' , ':email' => '[email protected]'));

    echo "New record created successfully";

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

Pilih Data Dengan PDO

Untuk memilih data, pertama buat string kueri, lalu jalankan dalam untuk setiap loop untuk mengambil record dari tabel.

<?php

include_once 'connection.php';

try

{

    $database = new Connection();

    $db = $database->openConnection();

    $sql = "SELECT * FROM student " ;

    foreach ($db->query($sql) as $row) {

    echo " ID: ".$row['ID'] . "<br>";

    echo " Name: ".$row['name'] . "<br>";

    echo " Last Name: ".$row['last_name'] . "<br>";

    echo " Email: ".$row['email'] . "<br>";

    }

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

Perbarui Data Dengan PDO

Untuk memperbarui catatan dalam tabel, pertama-tama deklarasikan string kueri, lalu jalankan dengan exec fungsi.

<?php

include_once 'connection.php';

try

{

     $database = new Connection();

     $db = $database->openConnection();

     $sql = "UPDATE `student` SET `name`= 'yourname' , `last_name` = 'your lastname' , `email` = 'your email' WHERE `id` = 8" ;

     $affectedrows  = $db->exec($sql);

   if(isset($affectedrows))

    {

       echo "Record has been successfully updated";

    }          

}

catch (PDOException $e)

{

    echo "There is some problem in connection: " . $e->getMessage();

}

?>

Hapus Data Dengan PDO

Untuk menghapus catatan dari tabel, pertama-tama deklarasikan string kueri, lalu jalankan dengan exec fungsi.

<?php

include_once 'connection.php';

try

{

     $database = new Connection();

     $db = $database->openConnection();

     $sql = "DELETE FROM student WHERE `id` = 8" ;

     $affectedrows  = $db->exec($sql);

   if(isset($affectedrows))

    {

       echo "Record has been successfully deleted";

    }          

}

catch (PDOException $e)

{

   echo "There is some problem in connection: " . $e->getMessage();

}

?>

Kesimpulan

PDO adalah lapisan pengakses data yang sangat memudahkan proses menghubungkan dan bekerja dengan database. Mungkin, hal terbaik tentang PDO adalah proses migrasi database yang efisien. Jika Anda ingin mempercepat kueri PDO Anda dengan iterator, lihat artikel ini oleh Michelangelo van Dam.

Pada artikel ini, saya memperkenalkan PDO dan menyoroti bagaimana Anda dapat melakukan tindakan CRUD menggunakan PDO di PHP. Saya juga mendemonstrasikan pengaturan koneksi database PDO. Jika Anda memiliki pertanyaan atau ingin menambahkan diskusi, silakan tinggalkan komentar di bawah.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghapus Database di cPanel

  2. Tampilan Terindeks dan Statistik

  3. Apakah Kunci Kandidat dalam Desain Basis Data?

  4. Pandas:Cara Membaca dan Menulis File

  5. ODBC 4.0