Connecting DB2 Database Via PHP

การพัฒนาเว็บแอพพลิเคชั่นด้วยภาษา PHP บนเซิร์ฟเวอร์ IBM AS400 วิธีการเชื่อมต่อฐานข้อมูลของ IBM DB2 โดยใช้ IBM DB2, Cloudscape and Apache Derby ในการเชื่อมต่อฐานข้อมูลบนเซิร์ฟเวอร์ โดยใช้ฟังก์ชั่นดังต่อไปนี้ 

การใช้งานฟังก์ชั่น db2_connect สำหรับเชื่อมต่อฐานข้อมูล

Database ชื่อฐานข้อมูลสำหรับเชื่อมต่อ 

Hostname ชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์ฐานข้อมูล 

Username ชื่อผู้ใช้งานสำหรับเชื่อมต่อกับฐานข้อมูล 

Password รหัสผู้ใช้งานสำหรับเชื่อมต่อกับฐานข้อมูล 

Options ชุดคำสั่งที่เชื่อมต่อการทำงานของระบบประกอบด้วย 

  • i5_lib  เป็นคำสั่งใช้สำหรับกำหนดชื่อ library หรือชื่อฐานข้อมูลสำหรับเชื่อมต่อที่ตั้งไว้ที่ตัวแปร Database ที่มีมากกว่า 1 ชื่อ 
  • i5_naming เป็นคำสั่งสำหรับเปิดปิด โหมดการใช้งาน i5_lib  มีชุดคำสั่งดังนี้ 
  • DB2_I5_NAMING_ON เปิดโหมดการใส่ชื่อฐานช้อมูล หรือ library ใน i5_lib  โดยใช้ตัวคั่นสแลช (/) เป็นตัวขั้นชื่อฐานข้อมูลหรือ library 
  • DB2_I5_NAMING_OFF ปิดโหมดการใส่ชื่อฐานช้อมูล หรือ library ใน i5_lib 

การใช้งานฟังก์ชั่น db2_exec สำหรับดำเนินการคำสั่ง SQL  

Connnection ตัวแปรการเชื่อมต่อฐานข้อมูลที่ส่งคืมาจากฟังชั่น db2_connect ()  

Statement คำสั่ง SQL คำสั่งต้องไม่มีเครื่องหมายพารามิเตอร์ใด ๆ 

ตัวอย่างการนำไปใช้งาน

สร้างไฟล์ Db2.php และพิมพ์โค้ดตามภาพด้านล่างนี้ ในส่วนของโค้ดมีฟังก์ชั่น connect สำหรับเชื่อมต่อฐานข้อมูล และฟังก์ชั่ง sql สำหรับคิวรีคำสั่ง SQL 

<?php 

class Db2  

{ 

  protected $hostname; 

  protected $username; 

  protected $password; 

  protected $database; 

  private $connnection; 

 

public function __construct() 

  {    

    $this->hostname = "HOST"; 

    $this->username = "USERNAME"; 

    $this->password = "PASSWORD"; 

    $this->database = "LIB1"; 

  }  

  public function connect() 

  { 

    $this->connnection = db2_connect( 

    	$this->hostname, 

    	$this->username, 

    	$this->password, 

    	array('i5_libl' => $this->database, 'i5_naming' => DB2_I5_NAMING_ON) 
 ); 

    if ($this->connnection) { 

        return true;       //Connection succeeded. 

    } else { 

        return false;      //Connection failed. 

        exit(); 

    } 

  } 

  public function sql($sql) 

  { 

        $res = db2_exec($this->connnection, $sql);   //return array 

        return $res; 

  } 

} 

สร้างไฟล์ index.php สำหรับเรียกใช้งานฟังก์ชั่น connect และ sql ในคลาส Db2 ไฟล์ Db2.php  

<?php 

require_once "Db2.php"; 

$db2 = new Db2; 

//การเรียกใช้ฟังชั่น connect ค่าที่ได้จากการคืนค่ากลับมาจะเป็น Boolean  

if($db2->connect()){ 

  echo "Connection succeeded."; 

}else{ 

  echo "Connection failed."; 

} 

//Output : Connection succeeded. จะแสดงเมื่อเชื่อต่อฐานข้อมูลสำเร็จ 

//Output : Connection failed. จะแสดงเมื่อเชื่อต่อฐานข้อมูลไม่สำเร็จ 

Browser Output : Connection succeeded. จะแสดงเมื่อเชื่อต่อฐานข้อมูลสำเร็จ 

Bowser Output : Connection failed. จะแสดงเมื่อเชื่อต่อฐานข้อมูลไม่สำเร็จ

Leave a Reply