Posted on 11.42

Koneksi PHP - MySQL dengan PDO



Mumpung ada waktu senggang jadi pengen nulis lagi. Setelah ngublek-ngublek cari ide yang mau ditulis akhirnya saya memutuskan untuk menulis sedikit cara untuk mengkoneksikan PHP dengan MySQL. Seperti yang sudah kita tau, koneksi PHP dengan cara lama seperti <code>mysql_connect</code> sudah deprecated. Sebagai gantinya kita dapat menggunakan PDO atau mysqli untuk melakukan koneksi.

Dengan PDO, untuk bisa mengkoneksikan PHP dengan MySQL kita harus menspesifikasikan nama driver, nama basisdata, username, dan password. Penulisan pada PDO sebagai berikut:
new PDO('mysql:host=localhost;dbname=dbname', db_username, db_password);
Kemudian bagaimana jika terjadi error atau terjadi gagal koneksi? Nah kita dapat membungkus perintah koneksi di dalam block <code>try ... catch</code> seperti berikut:
try {
        $db_username = ""; //db_username
        $db_password = ""; //db_passwor
        $conn = new PDO('mysql:host=localhost;dbname=dbname', $db_username, $db_password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }
    return $conn;
Fetch Data

Setelah melakukan koneksi kita bisa mulai melakukan fetch data dari basisdata. Terdapat dua cara untuk melakukan fetch data yaitu dengan method query atau execute.

query
try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
    $data = $conn->query('SELECT * FROM myTable WHERE name = 'lelly');
 
    foreach($data as $row) {
        print_r($row); 
    }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
execute
$id = 5;
try {
    $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);    
     
    $stmt = $conn->prepare('SELECT * FROM myTable WHERE id = :id');
    $stmt->execute(array('id' => $id));
 
    while($row = $stmt->fetch()) {
        print_r($row);
    }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}
Output

Untuk bisa menampilkan output, terdapat beberapa cara:

1. PDO::FETCH_ASSOC menghasilkan array

2. PDO::FETCH_ALL menghassilkan array (index angka dan nama kolom)

Sementara sampai sini dulu, lain waktu kalau ada waktu saya sambung lagi dengan operasi CRUD. Read More

0 Responses to Koneksi PHP - MySQL dengan PDO

Posting Komentar