程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql的dql和dml操作的封裝,成為固定的工具類

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

編輯:MySQL綜合教程

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'),'[email protected]',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語句也可以實現封裝,但一想,這樣的話,代碼的自由度就不高了,所以,先對語句分類,然後寫出成員方法,而且,要說的是,這裡,可以有效的去保護數據,僅僅只有類內的元素才能夠去訪問數據,不僅僅做到了方便,而且做到了安全。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved