TypechoJoeTheme

Dcr163的博客

统计

PHP面向对象简单封装Mysql

2015-10-18
/
0 评论
/
770 阅读
/
正在检测是否收录...
10/18

<?php
header('Content-type:text/html; charset=utf-8');

/*

class man {
    public function __construct(){
        
    }
    public $name='fff';
    public $height=null;
}
class jun{
    private $money=156;
}

$a=new jun();
echo $a->money ; */

/*
目标:
链接数据库
发送查询对于select 返回查询数据
关闭Mysql链接


------------------------------------------------------------------
思路:首先得先连接,连接就要有参数
参数如何传?
答:
1.可以通过配置文件,当网站大了,肯定会有配置文件
2.可以通过构造函数传参
建议用第一个方法,现在刚学习,就仅仅写一个简单的类,构造函数

 */

class Mysql{
    private $host;
    private $user;
    private $pwd;
    private $dbname;
    private $charset;
    private $conn;
    
    
    public function __construct(){
        //应该是在构造方法里,读取配置文件
        //然后根据配置文件来设置私有属性
        //此处还没有配置文件,就直接赋值了
        $this->host='localhost';
        $this->user='root';
        $this->pwd='root';
        $this->dbname='xiaojun';
        //调用connect函数链接到数据库
        $this->connect($this->host,$this->user,$this->pwd);
        //切换库
        $this->change($this->dbname);
        //设置字符集
        $this->setChar($this->charset);
    }
    
    //负责链接
    private function connect($h,$u,$p){
        $conn=mysql_connect($h,$u,$p);
        $this->conn = $conn;
    }
    
    //负责切换数据库,网站大的时候,可能用到
    public function change($db){
        $query='use '. $db;#p#分页标题#e#
        $this->query($query);
    }
    
    //负责设置字符集
    public function setChar($char){
        $query='set names '. $char;
        $this->query($query);
    }
    
    //负责发送mysql查询
    public function query($query){
        return mysql_query($query,$this->conn);
    }
    
    //负责获取多行多列的select 结果
    public function getAll($query){
        $list=array();
        $rs=$this->query($query);
        if (!$rs) {
            return false;
        }
        while ($row=mysql_fetch_assoc($rs)){
            $list[]=$row;
        }
        return $list;
    }
    
    //获取一行的select 结果
    public function getRow($query){
        $rs=$this->query($query);
        if (!$rs) {
            return false;
        }
        return mysql_fetch_assoc($rs);
    }
    
    //获取一个单个的值
    public function getOne($query){
        $rs=$this->query($query);
        if (!$rs) {
            return false;
        }
        $one=mysql_fetch_row($rs);
        return $one['0'];
    }
    
    //关闭数据库
    public function close(){
        $rs=mysql_close($this->conn);
        
        return $rs;
    }
}

$sql=new Mysql();
/* var_dump($sql);
$query="insert into xiaojun values (1,544,6);";

if($sql->query($query)){
    echo '成功';
}    else {#p#分页标题#e#
    echo '失败';
} */
echo '<hr />';
//获取全部数据
$query2='select * from xiaojun';
$all=$sql->getAll($query2);
var_dump($all);

echo '<br />';
//获取单个数据
$query2='select * from xiaojun where id2=5;';
var_dump($sql->getRow($query2));

echo '<br />';
//获取总共多少行数据
$query='select count(*) from xiaojun;';
var_dump($sql->getOne($query));

//断开数据数据库的链接
var_dump($sql->close());


//验证是否断开数据库的连接
$query2='select * from xiaojun where id2=5;';
var_dump($sql->getRow($query2));





















?>

朗读
赞(0)
版权属于:

Dcr163的博客

本文链接:

https://dcr163.cn/26.html(转载时请注明本文出处及文章链接)

评论 (0)

人生倒计时

今日已经过去小时
这周已经过去
本月已经过去
今年已经过去个月

最新回复

  1. William Tardent
    2024-02-27
  2. Maryann Hamer
    2024-02-27
  3. Sanora Pantano
    2024-02-24
  4. aa
    2024-02-21
  5. Kassie Baum
    2024-01-28

标签云