PHP数据库操作_PHP面向对象的数据库封装类_PHP怎么连接数据库
2014-08-17 13:17:37  By: shinyuu

本文主要讲解怎么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 的方法一样

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

    • shinyuu 2015-12-11 16:12:06  2 评  | 回复

      @陈:你好、我也只是会简单的php、我主要是做Android的、php也是开发博客的时候自学的、可以一起交流一下、网页下方有我的联系方式


    • 2015-12-11 02:19:52  1 评  | 回复

      以前学过php但是都是最简单的,一直想要一套完整向对来说有技术含量的项目,看到作者师父的技术,想求一套完整的p h p 项目,自学用,谢谢


DD记账
top
+