<?php
class SqlTool{
private $conn;
private $host="localhost";
private $user="root";
private $password="root";
private $db="test";
function SqlTool(){
$this->conn=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("数据库连接失败".mysql_error());
}
mysql_select_db($this->db,$this->conn);
mysql_query("set names uft-8");
}
//完成select功能
public function execute_dql($sql){
$res=mysql_query($sql,$this->conn) or die(mysql_error());
return $res;
}
//完成update,delete和insert功能
public function execute_dml($sql){
$b=mysql_query($sql,$this->conn);
if(!$b){
return 0;//表示操作失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1;//表示操作成功
}else{
return 2;//表示没有行数受到影响
}
}
}
}
?>
<?php
//这是一个工具类,提供对数据库的操作
class SqlHelper{
public $conn;
public $dbname="empmanager";
public $username="root";
public $password="root";
public $host="localhost";
public function __construct(){
$this->conn=mysql_connect($this->host,$this->username,$this->password);
if(!$this->conn){
die("数据库连接失败".mysql_error());
}
mysql_select_db($this->dbname,$this->conn);
}
//执行dql语句 查询语句
public function execute_dql($sql){
$res=mysql_query($sql,$this->conn) or die(mysql_error());
return $res;
}
//执行dql语句 查询语句返回一个数组
public function execute_dql2($sql){
$arr=array();
$res=mysql_query($sql,$this->conn) or die(mysql_error());
$i=0;
while ($row=mysql_fetch_assoc($res)){
$arr[$i++]=$row;
}
//马上关闭数组
mysql_free_result($res);
return $arr;
}
//带分页的情况查询 这是一个比较通用的方法,体现OOP思想
/*
* 执行查询功能
*/
public function execute_dql_fenye($sql1,$sql2,$fenyePage){
$res=mysql_query($sql1,$this->conn) or die(mysql_error());
$arr=array();
while ($row=mysql_fetch_assoc($res)){
$arr[]=$row;
}
mysql_free_result($res);
$res2=mysql_query($sql2,$this->conn) or die(mysql_error());
if($row2=mysql_fetch_row($res2)){
$fenyePage->pageCount=ceil($row2[0]/$fenyePage->pageSize);
$fenyePage->rowCount=$row2[0];
}
mysql_free_result($res2);
$fenyePage->res_array=$arr;
}
//执行dml语句 增删改
/*
* 执行增删改的功能
*/
public function execute_dml($sql){
$b=mysql_query($sql);
if(!$b){
return 0;//操作失败
}else{
if(mysql_affected_rows()>0){
return 1;//操作成功
}else{
return 2;//没有受影响的行数
}
}
}
//关闭连接
public function close_connect(){
if(!empty($this->conn)){
mysql_close($this->conn);
}
}
}
?>