php实现mysql封装类示例

php实现mysql封装类示例,第1张

php封装mysql类

复制代码

代码如下:

<?php

class

Mysql

{

private

$host

private

$user

private

$pwd

private

$dbName

private

$charset

private

$conn

=

null

public

function

__construct()

{

$this->host

=

'localhost'

$this->user

=

'root'

$this->pwd

=

'root'

$this->dbName

=

'test'

$this->connect($this->host,$this->user,$this->pwd)

$this->switchDb($this->dbName)

$this->setChar($this->charset)

}

//负责链接

private

function

connect($h,$u,$p)

{

$conn

=

mysql_connect($h,$u,$p)

$this->conn

=

$conn

}

//负责切换数据库

public

function

switchDb($db)

{

$sql

=

'use'

.

$db

$this->query($sql)

}

//负责设置字符集

public

function

setChar($char)

{

$sql

=

'set

names'

.

$char

$this->query($sql)

}

//负责发送sql查询

public

function

query($sql)

{

return

mysql_query($sql,$this->conn)

}

//负责获取多行多列的select结果

public

function

getAll($sql)

{

$list

=

array()

$rs

=

$this->query($sql)

if

(!$rs)

{

return

false

}

while

($row

=

mysql_fetch_assoc($rs))

{

$list[]

=

$row

}

return

$list

}

public

function

getRow($sql)

{

$rs

=

$this->query($sql)

if(!$rs)

{

return

false

}

return

mysql_fetch_assoc($rs)

}

public

function

getOne($sql)

{

$rs

=

$this->query($sql)

if

(!$rs)

{

return

false

}

return

mysql_fetch_assoc($rs)

return

$row[0]

}

public

function

close()

{

mysql_close($this->conn)

}

}

echo

'<pre>'

$mysql

=

new

Mysql()

print_r($mysql)

$sql

=

"insert

into

stu

values

(4,'wangwu','99998')"

if($mysql->query($sql)){

echo

"query成功"

}else

{

echo

"失败"

}

echo

"<br

/>"

$sql

=

"select

*

from

stu"

$arr

=

$mysql->getAll($sql)

print_r($arr)

?>

<?php

class MySQL{

private $host //服务器地址

private $name //登录账号

private $pwd //登录密码

private $dBase //数据库名称

private $conn //数据库链接资源

private $result //结果集

private $msg //返回结果

private $fields //返回字段

private $fieldsNum //返回字段数

private $rowsNum //返回结果数

private $rowsRst //返回单条记录的字段数组

private $filesArray = array() //返回字段数组

private $rowsArray = array() //返回结果数组

private $charset='utf8' //设置 *** 作的字符集

private $query_count=0//查询结果次数

static private $_instance //存储对象

//初始化类

private function __construct($host='',$name='',$pwd='',$dBase=''){

if($host != '') $this->host = $host

if($name != '') $this->name = $name

if($pwd != '') $this->pwd = $pwd

if($dBase != '') $this->dBase = $dBase

$this->init_conn()

}

//防止被克隆

private function __clone(){}

public static function getInstance($host='',$name='',$pwd='',$dBase=''){

if(FALSE == (self::$_instance instanceof self)){

self::$_instance = new self($host,$name,$pwd,$dBase)

}

return self::$_instance

}

public function __set($name,$value){

$this->$name=$value

}

public function __get($name){

return $this->$name

}

//链接数据库

function init_conn(){

$this->conn=@mysql_connect($this->host,$this->name,$this->pwd) or die('connect db fail !')

@mysql_select_db($this->dBase,$this->conn) or die('select db fail !')

mysql_query("set names ".$this->charset)

}

//查询结果

function mysql_query_rst($sql){

if($this->conn == '') $this->init_conn()

$this->result = @mysql_query($sql,$this->conn)

$this->query_count++

}

//取得字段数

function getFieldsNum($sql){

$this->mysql_query_rst($sql)

$this->fieldsNum = @mysql_num_fields($this->result)

}

//取得查询结果数

function getRowsNum($sql){

$this->mysql_query_rst($sql)

if(mysql_errno() == 0){

return @mysql_num_rows($this->result)

}else{

return ''

}

}

//取得记录数组(单条记录)

function getRowsRst($sql,$type=MYSQL_BOTH){

$this->mysql_query_rst($sql)

if(empty($this->result)) return ''

if(mysql_error() == 0){

$this->rowsRst = mysql_fetch_array($this->result,$type)

return $this->rowsRst

}else{

return ''

}

}

//取得记录数组(多条记录)

function getRowsArray($sql,$type=MYSQL_BOTH){

!empty($this->rowsArray) ? $this->rowsArray=array() : ''

$this->mysql_query_rst($sql)

if(mysql_errno() == 0){

while($row = mysql_fetch_array($this->result,$type)) {

$this->rowsArray[] = $row

}

return $this->rowsArray

}else{

return ''

}

}

//更新、删除、添加记录数

function uidRst($sql){

if($this->conn == ''){

$this->init_conn()

}

@mysql_query($sql)

$this->rowsNum = @mysql_affected_rows()

if(mysql_errno() == 0){

return $this->rowsNum

}else{

return ''

}

}

//返回最近插入的一条数据库的id值

function returnRstId($sql){

if($this->conn == ''){

$this->init_conn()

}

@mysql_query($sql)

if(mysql_errno() == 0){

return mysql_insert_id()

}else{

return ''

}

}

//获取对应的字段值

function getFields($sql,$fields){

$this->mysql_query_rst($sql)

if(mysql_errno() == 0){

if(mysql_num_rows($this->result) >0){

$tmpfld = @mysql_fetch_row($this->result)

$this->fields = $tmpfld[$fields]

}

return $this->fields

}else{

return ''

}

}

//错误信息

function msg_error(){

if(mysql_errno() != 0) {

$this->msg = mysql_error()

}

return $this->msg

}

//释放结果集

function close_rst(){

mysql_free_result($this->result)

$this->msg = ''

$this->fieldsNum = 0

$this->rowsNum = 0

$this->filesArray = ''

$this->rowsArray = ''

}

//关闭数据库

function close_conn(){

$this->close_rst()

mysql_close($this->conn)

$this->conn = ''

}

//取得数据库版本

function db_version() {

return mysql_get_server_info()

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6186357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存