
复制代码
代码如下:
<?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)
?>
class demo{
function __destruct()
{
$DB->close() // $DB哪里来的?应该是$this->DB->close()吧
}
public function __construct()
{
$DB = new DB_MySQL // 这属于函数内部变量,函数执行完就消失了。所以应该用$this->DB = new DB_MySQL
$DB->connect(servername, dbusername, dbpassword, dbname, usepconnect) // 同理,需要改成$this->DB,参数也有问题吧,还是你为避免泄露sql账号密码故意这么写的?
}
function test()
{
$sql1 = "SELECT * FROM tab limit 1"
$txt = $DB->fetch_one_array($sql1) // 同理,需要改成$this->DB
return $txt['id']
}
}
$person = new demo
echo $person->test()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)