php面象对象数据库操作类实例
程序员文章站
2023-11-14 18:55:11
本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。
具体实现代码如下:
复制代码 代码如下://此处构造一个数据库操作类,封装所有数据库操作
//可以...
本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。
具体实现代码如下:
复制代码 代码如下:
//此处构造一个数据库操作类,封装所有数据库操作
//可以扩展便于后台管理程序的使用
class mysqldb
{
var $host;
var $user;
var $passwd;
var $database;
var $conn;
//利用构造函数实现变量初始化
//同时连接数据库操作
function mysqldb($host,$user,$password,$database)
{
$this->host = $host;
$this->user = $user;
$this->passwd = $password;
$this->database = $database;
$this->conn=mysql_connect($this->host, $this->user,$this->passwd) or
die("could not connect to $this->host");
mysql_select_db($this->database,$this->conn) or
die("could not switch to database $this->database");
}
//该函数用来关闭数据库连接
function close()
{
mysql_close($this->conn);
}
//该函数实现数据库查询操作
function query($querystr)
{
$res =mysql_query($querystr, $this->conn) or
die("could not query database");
return $res;
}
//该函数返回记录集
function getrows($res)
{
$rowno = 0;
$rowno = mysql_num_rows($res);
if($rowno>0)
{
for($row=0;$row<$rowno;$row++ )
{
$rows[$row]=mysql_fetch_array($res);
//本来为mysql_fetch_row,但是不能以数组的方式来提取,只能用索引
//这样可以用索引和名称,更为方便
}
return $rows;
}
}
//该函数取回数据库记录数
function getrowsnum($res)
{
$rowno = 0;
$rowno = mysql_num_rows($res);
return $rowno;
}
//该函数返回数据库表字段数
function getfieldsnum($res)
{
$fieldno = 0;
$fieldno = mysql_num_fields($res);
return $fieldno;
}
//该函数返回数据库表字段名称集
function getfields($res)
{
$fno = $this->getfieldsnum($res);
if($fno>0)
{
for($i=0;$i<$fno;$i++ )
{
$fs[$i]=mysql_field_name($res,$i);//取第i个字段的名称
}
return $fs;
}
}
}
//使用时直接require该文件,然后实例化:
$sqldb = new mysqldb("localhost","root","root","testdb");
$sql = "select * from tablex...";
$result = $sqldb->query($sql);//查询
$rs = $sqldb->getrows($result);//获得记录集
$num = $sqldb->getrowsnum($result);//获得记录数
...剩下的操作就是循环取值,
for($i=0;$i<$num;$i++){
echo($rs[$i]["字段名"]);
}
...
//可以扩展便于后台管理程序的使用
class mysqldb
{
var $host;
var $user;
var $passwd;
var $database;
var $conn;
//利用构造函数实现变量初始化
//同时连接数据库操作
function mysqldb($host,$user,$password,$database)
{
$this->host = $host;
$this->user = $user;
$this->passwd = $password;
$this->database = $database;
$this->conn=mysql_connect($this->host, $this->user,$this->passwd) or
die("could not connect to $this->host");
mysql_select_db($this->database,$this->conn) or
die("could not switch to database $this->database");
}
//该函数用来关闭数据库连接
function close()
{
mysql_close($this->conn);
}
//该函数实现数据库查询操作
function query($querystr)
{
$res =mysql_query($querystr, $this->conn) or
die("could not query database");
return $res;
}
//该函数返回记录集
function getrows($res)
{
$rowno = 0;
$rowno = mysql_num_rows($res);
if($rowno>0)
{
for($row=0;$row<$rowno;$row++ )
{
$rows[$row]=mysql_fetch_array($res);
//本来为mysql_fetch_row,但是不能以数组的方式来提取,只能用索引
//这样可以用索引和名称,更为方便
}
return $rows;
}
}
//该函数取回数据库记录数
function getrowsnum($res)
{
$rowno = 0;
$rowno = mysql_num_rows($res);
return $rowno;
}
//该函数返回数据库表字段数
function getfieldsnum($res)
{
$fieldno = 0;
$fieldno = mysql_num_fields($res);
return $fieldno;
}
//该函数返回数据库表字段名称集
function getfields($res)
{
$fno = $this->getfieldsnum($res);
if($fno>0)
{
for($i=0;$i<$fno;$i++ )
{
$fs[$i]=mysql_field_name($res,$i);//取第i个字段的名称
}
return $fs;
}
}
}
//使用时直接require该文件,然后实例化:
$sqldb = new mysqldb("localhost","root","root","testdb");
$sql = "select * from tablex...";
$result = $sqldb->query($sql);//查询
$rs = $sqldb->getrows($result);//获得记录集
$num = $sqldb->getrowsnum($result);//获得记录数
...剩下的操作就是循环取值,
for($i=0;$i<$num;$i++){
echo($rs[$i]["字段名"]);
}
...
最后不要忘记关闭数据路连接
复制代码 代码如下:
$sqldb->close();
当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!其他自己类推。
希望本文所述对大家的php程序设计有所帮助。
上一篇: 知其所以然~redis的原子性