• Tags

  •  

    March 2008
    M T W T F S S
    « Feb   Aug »
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
  • Recent Posts

  • Recent Comments

  • Archives

  • Tanggal Hijriyah

  • Join Blogger-Ngalam

  • Adds

    Add to Technorati Favorites
  • Google Groups
    Subscribe to id-muslim
    Email:
    Visit this group

    « Perjalanan Pulang dari Tangerang | Home | Saving Images into MySQL Database »

    Functions PDO PHP 5.1

    By Abu Aisyah | March 29, 2008

    Object Oriented Programming di PHP bukanlah sebuah hal yang baru. Bahkan OOP sejak di PHP 4 sudah ada, dan di PHP 5, sekarang ini sudah dilakukan pengembangan. Beberapa waktu lalu saya sempat kebingungan membuat kode OOP untuk transaksi database dengan menggunakan database MySQL.

    Well, walaupun sudah menemukannya dengan script EzSQL, tapi ternyata di PHP 5.1 ke atas sudah tersedia sendiri di functionsnya. Berikut sedikit catatan mengenai PDO. PDO (PHP Data Objects) merupakan sebuah extensions yang sangat ringan untuk koneksi sebuah database, yang secara konsisten mengakses database via PHP. Masing-masing database driver yang mengimplementasikan interface PDO dapat mengakses database secara spesifik seperti layaknya functions extensi pada umumnya.

    Kalau anda pernah menggunakan ODBC untuk sebuah koneksi ke database, misalnya anda memakai sebuah koneksi untuk database besar seperti Oracle, barangkali anda perlu mencoba PDO ini. Karena untuk versi 5.1 ke atas sudah tersedia di dalam paket PHP.

    Cara Menginstall:

    For Unix / Linux / *nix

    1. Di PHP 5.1xxx sudah include di dalamnya paket PDO ini. Jadi anda sudah bisa langsung menggunakannya.

    2. Di PHP 5.0.0xxx, paket PDO tersedia sebagai extensi dari PECL yang dapat diperoleh di http://pecl.php.net/package/pdo. Penginstallannya dapat dilakukan dengan tool-tool PECL. Bisa juga dilakukan download dan install dengan menggunakan command:

    pecl install pdo

    Kemudian pecl akan secara otomatis menginclude-kan PDO ke dalam extension PHP, yang bisa diedit di php.ini:

    extension=pdo.so

    Untuk Windows

    1. PDO dan seluruh driver-driver yang ada dalam PHP bisa dilihat di php.ini. Lihat baris:

    extension=php_pdo.dll

    atau yang lebih spesifik


    extension=php_pdo.dll
    extension=php_pdo_firebird.dll
    extension=php_pdo_informix.dll
    extension=php_pdo_mssql.dll
    extension=php_pdo_mysql.dll
    extension=php_pdo_oci.dll
    extension=php_pdo_oci8.dll
    extension=php_pdo_odbc.dll
    extension=php_pdo_pgsql.dll
    extension=php_pdo_sqlite.dll

    Seluruh file dll itu bisa dilihat di system extensions dir pada Windows. Biasanya di tempat install PHP-nya atau di win/System32. PDO Drivers

    Nama Driver Database support
    PDO_DBLIB Free TDS / Microsoft SQL Server / Sybase
    PDO_FIREBIRD Firebird/Interbase 6
    PDO_IBM IBM DB2
    PDO_INFORMIX IBM Informix Dynamic Server
    PDO_MYSQL MySQL 3.x/4.x/5.x
    PDO_OCI Oracle Call Interface
    PDO_ODBC ODBC v3 (IBM DB2, unixODBC and win32 ODBC)
    PDO_PGSQL PostgreSQL
    PDO_SQLITE SQLite 3 and SQLite 2

    Cara Koneksi

    <?php
    //buka koneksi

    $dbh = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass);
    //tutup koneksi
    $dbh = null;

    //koneksi dengan oracle
    $dbh = new PDO(’oci:’,’scott’,'tiger’);
    //tutup koneksi
    $dbh = null;
    ?>

    Exception

    <?php
    try {
    $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
    foreach ($dbh->query('SELECT * from FOO') as $row){
    print_r($row);
    }
    $dbh = null;
    } catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . ""; die();
    }
    ?>

    Transaksi INSERT / UPDATE


    <?php
    $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':value', $value);
    // insert one row
    $name = 'one';
    $value = 1;
    $stmt->execute();
    // insert another row with different values
    $name = 'two';
    $value = 2;
    $stmt->execute();
    ?<

    Transaksi Select


    <?php
    $stmt = $dbh->prepare("SELECT * FROM employee where name = ?");
    if ($stmt->execute(array($_GET['name'])))
    {
    while ($row = $stmt->fetch()) {
    print_r($row);
    }
    }
    ?>

    Catatan: cara di atas adalah salah satu cara yang paling bagus untuk menolak SQL Injection, karena user inputnya secara otomatis sudah diquote.

    Memanggil Procedure


    <?php
    $stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
    $value = 'hello';
    $stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);
    // call the stored procedure
    $stmt->execute();
    print "procedure returned $value\n";
    ?>

    Untuk cara-cara yang lainnya, anda bisa mengakses php.net cari functions PDO untuk lebih jelasnya. Sekian dulu dari saya dan selamat mencoba. ;)

    Topics: Catatanku, Linux, PHP, mysql |

    One Response to “Functions PDO PHP 5.1”

    1. Saving Images to MySQL Database | Abu Aisyah Official Web Site Says:
      March 31st, 2008 at 9:44 pm

      [...] Abu Aisyah Official Web Site Menapaki Jalan Salafush Sholeh ← Functions PDO PHP 5.1 [...]

    Comments