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


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

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

Post Reply
User avatar
M030
PHP Super Hero Member
PHP Super Hero Member
Posts: 532
Joined: 07/09/2015 10:06 am

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

Post by 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

Code: Select all

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 ข้อมูล

Code: Select all

$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 ข้อมูล

Code: Select all

$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 ข้อมูล

Code: Select all

$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);

Post Reply

Return to “PHP Knowledge”

Users browsing this forum: No registered users and 5 guests