MySql的dql和dml操作的封裝,成為固定的工具類

在我們使用php去操作MySQl的時候,就像前面講的SQL語句分為,數據查詢語句(dql),數據操作語句(dml),還有數據資源語句等。

但是,我們用的最大的就是前兩者,查詢是資料庫操作的重中之重,而CRUD又是資料庫操作必不可少的,不管是學習什麼資料庫語言都是

如此,所以,我就在日常的學習過程中,針對這兩種最為重要的語句,把他們的每一步操作都封裝到類裡面,這樣,有利於代碼的重復利用

性,和代碼的簡潔性,把他們存在於一個外部文件的裡面,用的時候就直接引入該文件,非常方面,提高開發效率,不多說瞭,下面是封裝

的具體代碼,註:為表達直接清晰,有的數據時定好的數據,如資料庫等。

SqlTool.class.php

<?php
	class SqlTool{
		private $conn;
		private $host="localhost";
		private $user="root";
		private $password="toor";
		private $db="test";
		function SqlTool(){
			$this->conn=mysql_connect($this->host,$this->user,$this->password);
			if(!$this->conn){
				die("對不起,連接資料庫失敗<br/>錯誤原因:".mysql_error());
			}
			mysql_select_db($this->db,$this->conn);//選擇資料庫
			mysql_query("set names utf8");
		}
		public function execute_dql($sql){
			//執行資料庫dql語句,即查詢操作
			$res=mysql_query($sql) or die("查詢失敗,失敗原因".mysql_error());
			return $res;
		}
		//在這裡就實現瞭對CRUD的完全封裝
		public function execute_dml($sql){
			$b=mysql_query($sql,$this->conn);
			if(!$b){
				//return 0;	//運行失敗
				echo "對不起,操作失敗";
			}else{
				if(mysql_affected_rows($this->conn)>0){
					//return 1;	//運行成功
					echo "操作成功!";
				}else{
					//return 2;	//成功,但沒有影響行數
					echo "操作成功,但是行數沒有受到影響";
				}
			}
			mysql_close($this->conn);//關閉連接
		}	
	}
?>

UseSqlTool.php

<?php
	
	
	require_once "SqlTool.class.php";//引入SqlTool的類文件
	
	/************************dml操作******************************/
	/*//添加數據
	$sql="insert into test1 (name,password,email,age) values('xuning_a',md5('78989'),'xiaohei@qq.com',18)";//Sql語句
	$SqlTool=new SqlTool();
	$res=$SqlTool->execute_dml($sql);
	*/
	//刪除數據
	/*
	$sql="delete from test1 where id = 21";//Sql語句
	$SqlTool=new SqlTool();
	$res=$SqlTool->execute_dml($sql);
	*/
	//修改數據
	$sql="update test1 set age=100 where id=9";//Sql語句
	$SqlTool=new SqlTool();
	$res=$SqlTool->execute_dml($sql);
	/**********************dql操作*********************************/
	/*//查詢操作
	$sql="select * from test1";
	$SqlTool=new SqlTool();
	$res=$SqlTool->execute_dql($sql);
	//這一串是用戶提示:
	echo "用戶ID"." "."用戶名"."        "."用戶密碼"."            "."郵箱"."     "."年齡"."   "."<br/>";
	
	while($row=mysql_fetch_row($res)){	//顯示所有的用戶數據
		foreach($row as $key =>$val){
			echo "$val"."   ";
		}
		echo "<br/>";
	}
	mysql_free_result($res);
	*/
?>

UseSqlTool.php中引入SqlTool.class.php文件,然後把對象實例化,然後我們,要做的就是寫出SQL語句,然後調用它,我覺得SQL語句也可以實現封裝,但一想,這樣的話,代碼的自由度就不高瞭,所以,先對語句分類,然後寫出成員方法,而且,要說的是,這裡,可以有效的去保護數據,僅僅隻有類內的元素才能夠去訪問數據,不僅僅做到瞭方便,而且做到瞭安全。

You May Also Like