การ Connection ฐานข้อมูลในแบบ OOP

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
M030
PHP Super Hero Member
PHP Super Hero Member
โพสต์: 532
ลงทะเบียนเมื่อ: 07/09/2015 10:06 am

การ Connection ฐานข้อมูลในแบบ OOP

โพสต์โดย M030 » 07/10/2015 11:14 am

วิธีการสร้าง connection ฐานข้อมูลในแบบของ OOPก็จะเป็นการสร้างคลาส และสร้างฟังก์ชันการทำงานไว้ภายในคลาส หากต้องการเรียกใช้ก็ทำการสร้าง objectไว้นอกคลาส เพื่อเรียกใช้การทำงานภายในคลาสนั่นเอง

ขั้นตอนการสร้าง connection
1. ทำการสร้างไฟล์ phpขึ้นมาก่อนนะค่ะ
2. สร้างตัวแปรเพื่อรับค่าที่ใช้ติดต่อฐานข้อมูลค่ะ กำหนด private ไว้หน้าตัวแปรซักนิดนะค่ะ เพื่อให้รู้ว่าข้อมูลตรงนี้สำคัญต้องป้องกันความเป็นส่วนตัวค่ะ ^^ เช่น
private $host = "localhost";
private $user = "root";
private $pass = "";
private $db = "test_db";
3. สร้าง class ขึ้นมา 1 class ค่ะ เหมือนในตัวอย่างนี้จะตั้งชื่อ class ว่า connect_db
4. สร้างฟังก์ชันขึ้นมา 1 ฟังก์ชันค่ะ เช่น function openDB() ตรงหน้าฟังก์ชันสมควรกำหนดให้เป็น private นะค่ะเพราะเป็นฐานข้อมูลสมควรที่ต้องป้องกันความเป็นส่วนตัวให้มันซักนิดค่ะ ^^ สำหรับฟังก์ชันนี้ไว้สำหรับติดต่อกับฐานข้อมูลนะค่ะ
5. สร้างฟังก์ชันไว้สำหรับปิดฐานข้อมูล เช่น function closeDB()
6. สร้างฟังก์ชันไว้สำหรับการทำงานของเงื่อนไขต่างๆที่เราต้องการค่ะ เช่น insert, update, delete ในส่วนตรงนี้เราสร้างเป็น function exe()

ตัวอย่าง code การสร้าง class และ function

โค้ด: เลือกทั้งหมด


class connect_db
{
        private $host = "localhost";
        private $user = "root";
        private $pass = "";
        private $db   = "test_db";
        
        
      private function openDB
()
        {
                $charset = "set names utf8";
                $link = mysql_pconnect($this->host, $this->user, $this->pass);
                if (!$link) {
                die('Could not connect to the server: ' . mysql_error());
                }
 
                $db_selected 
= mysql_select_db($this->db, $link);
                if (!$db_selected) {
                        die ('Could not connect to the database"' . $this->db ." get error: " . mysql_error());
                }
                 
                mysql_query
($charset) or die('Invalid query: ' . mysql_error());
                 
        
}
        
         private function closeDB
()
        {
                mysql_close($link);
        }

         public function exe($sql)
        {
               self::openDB();
               $result = mysql_query($sql);
                if (!$result) {
                       $message  = 'Message : ' . mysql_error() . " Don't success<br>";
                        die($message);
                }
        }
}
 


ส่วนของการเรียกใช้งานใน class
:arrow: สร้าง object ขึ้นมาเพื่อเรียกใช้งานใน class connect_db เลยค่ะ

ตัวอ่างการ insert ข้อมูล

โค้ด: เลือกทั้งหมด


$conn_db 
= new connect_db(); 

if($Sql_conn = "INSERT INTO test_php (firstname,lastname,mind_id) VALUES('My name','My lastname','22')" )
        {            
     echo 
'Insert Data to Success';
}
  else {
    echo "Don't Success";
}
        
$arrData 
= $conn_db->exe($Sql_conn);


:arrow: $conn_db คือตัวแปรที่เราสร้าง object สำหรับเรียกใช้ฟังก์ชันต่างๆภายใน class connect_db ค่ะ
:arrow: เงื่อนไข if..else เราสร้างไว้สำหรับการ insert ข้อมูลลงฐานข้อมูลค่ะ รูปแบบการ insert อาจจะเป็นรูปแบบอื่นก็ได้นะค่ะ

ตัวอย่างการ update ข้อมูล

โค้ด: เลือกทั้งหมด


$conn_db 
= new connect_db();

if(
$Sql_conn = "UPDATE test_php SET firstname = 'MindPHP')" )
        {            
     echo 
'Update Data to Success';
}
  else {
    echo "Don't Success";
}
        
$arrData 
= $conn_db->exe($Sql_conn);


ตัวอย่างการ Delete ข้อมูล

โค้ด: เลือกทั้งหมด


$conn_db 
= new connect_db();

if(
$Sql_conn = "DELETE FROM test_php")
        {            
     echo 
'Delete Data to Success';
}
  else {
    echo "Don't Success";
}
        
$arrData 
= $conn_db->exe($Sql_conn);

ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 5 และ บุคคลทั่วไป 0 ท่าน