欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  技术分享

PHP数据库操作_PHP面向对象的数据库封装类_PHP怎么连接数据库

程序员文章站 2022-03-01 16:03:14
...

本文主要讲解怎么PHP使用面向对象的编程方式来编写数据库操作类

步骤1:创建一个PHP的页面“config.php”定义数据库相关的参数

<?php   // config.php     
      define(´DB_USER´, "username");
      define(´DB_PASSWORD´, "password");  
      define(´DB_DATABASE´, "database name"); 
      define(´DB_SERVER´, "ip address of database server"); 
?>


第2步:创建一个PHP的类,用于连接数据库,命名为“db_connect.php”

<?php  // db_connnect.php
class DB_Connect {
 	private $con;
 
	// constructor
	function __construct() {
	    // connecting to database
            $this->con = $this->connect();
	}
 
	//Function to connect with database
	private function connect() {
	    // import database connection variables
	    require_once __DIR__.´/config.php´;
            try {
	        $conn = new PDO(´mysql:host=´.DB_SERVER .´;
			dbname=´.DB_DATABASE, DB_USER, DB_PASSWORD);
		$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 	    } catch(PDOException $e) {
        	echo ´ERROR: ´ . $e->getMessage();
            }
 	    return $conn;
    }
	
	public function getDbConnection(){
	    return $this->con;
	}
}
?>


第3步:创建一个类,它包含了所有的功能,为您实现SQL查询,命名为“db_functions.php”

调用里面的函数进行SQL查询、以促进可重用性和可维护性

<?php    // db_functions.php
class DB_Functions {
    private $con;
    // constructor
    function __construct() {
        require_once __DIR__.´/db_connect.php´;
        // connecting to database
        $db = new DB_Connect();
        $this->con = $db->getDbConnection();
    }
 
    public function selectUser($id) {
        try {
            $stmt = $this->con->prepare(´SQL语句´);
            $params = array(´:id´ => $id);
            $stmt->execute($params);
            return $stmt;
        } catch(PDOException $e) {
            echo ´ERROR: ´ . $e->getMessage();
        }
    }
 
    public function otherSQLfunction($parameter) {
        // other sql code
    }
}


第4步:最后,在你其他的PHP文件里面只需要简单地调用“db_functions.php”的方法

<?php
     require_once __DIR__.´/db_functions.php´;
     $db = new DB_Functions();
     $result = $db->selectUser($id);
     //  other code
?>


好了、到这里你对数据库的封装也就做完了、不过这个只是一个简单的封装

没有实现insert 和 update 的封装、哥们你可以自己写到里面、方法和select 的方法一样