PHP面向对象简单封装Mysql
<?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));
?>
Dcr163的博客
http://dcr163.cn/26.html(转载时请注明本文出处及文章链接)