php mysql经典数据库连接类代码
<?php
/*
function mysqlconnector() : 类的构造函数,定义和包含配置信息
function connectmysql() : 打开数据库教程连接
function close() : 关闭数据库连接
function returnsql($sql) : 执行一条语句,返回一行的数组
function executesql($sql) : 执行一段查询,返回是否成功
function returndb($sql) : 执行查询,返回数据集
function selectlimit($sql,$offset_b,$offset_n=0)
: 分页查询,返回数据集 参数(sql语句,开始位置,读取行数)
function datearray($sql,$startid,$endid)
: 分页查询,返回二维数组 参数(sql语句,开始位置,读取行数)
function getarray($sql) : 执行两个字段的查询,返回一个数组,格式 array[row["0"]]=>row["1"]
*/
class mysqlconnector {
/* public: 数据库连接参数 */
var $dbhost; //服务器地址
var $dbname; //数据库名称
var $dbusername; //连接账号
var $dbpassword; //连接密码
var $setnames; //数据库编码
function mysqlconnector() //构造函数,数据库链接配置
{
$this->dbname = "xixia";
$this->dbhost = "localhost";
$this->dbusername = "root";
$this->dbpassword = "123456";
$this->setnames = "gbk";
}
function connectmysql() //链接数据库,返回活动连接
{
$openconn = mysql_pconnect($this->dbhost, $this->dbusername, $this->dbpassword) or die("连接数据库错误,请检查配置!");
mysql_query("set names '" . $this->setnames . "'", $openconn);
mysql_select_db($this->dbname, $openconn);
return $openconn;
}
/*
*
*执行查询语句,返回某一行的数组
*/
function returnsql($sql) {
$array_result = "";
//mysql_unbuffered_query
$db_result = mysql_query($sql, $this->connectmysql());
if ($db_result) {
$array_result = mysql_fetch_array($db_result);
}
mysql_free_result($db_result); //释放记录集
return $array_result;
}
/*
*
*执行查询语句,返回数据
*
*/
function returndb($sql) {
$db_result = mysql_query($sql, $this->connectmysql());
return $db_result;
}
/*
*
*执行查询语句,返回某两列的数组,主要用于下拉框,前一列是values,后一列是option
*
*/
function getarray($sql) {
$array_result = array();
$db_result = mysql_query($sql, $this->connectmysql());
if ($db_result) {
while ($row = mysql_fetch_row($db_result)) {
$array_result[$row[0]] = $row[1];
}
}
return $array_result;
}
/*
*
*执行一条sql语句,返回执行是否成功
*
*/
function executesql($sql) {
//$sql = str_replace("","",$sql);
$result = mysql_query($sql, $this->connectmysql());
if (!$result) {
echo "<!--出错了:" . $sql . "-->";
return false;
} else {
return true;
}
}
/*
分页读取sql语句,返回纪录集,
参数分别为sql语句,开始行数,读取条数(传递2哥参数时,开始行数即为读取条数)
*/
function selectlimit($sql, $offset_b, $offset_n = 0) {
$result = "";
$this->checklink($sql);
if (!$offset_n) {
$limit = " limit " . $offset_b;
} else {
$limit = " limit " . $offset_b . "," . $offset_n;
}
$sql.= $limit;
// echo "<br>";
// echo $sql;
$result = $this->returndb($sql);
return $result;
}
/*
*
*将数据集转化成数组
*
*/
function datearray($sql, $startid, $endid) {
$array_result = array();
$db_result = $this->selectlimit($sql, $startid, $endid); //根据sql语句读取数据集
if ($db_result) { //数据集存在
$i = 0;
while ($row = mysql_fetch_row($db_result)) //循环填充数组
{
$array_result[$i] = $row;
$i++;
}
}
return $array_result;
}
/*
*
*关闭链接
*
*/
function close() {
if ($this->linkid != null) {
mysql_close($this->linkid);
unset($this);
}
}
}
/*
*使用案例:
$conn= new mysqlconnector(); //实例化
$db = &$conn;
$db->returnsql($sql) //执行查询
*/本文地址:http://www.phprm.com/database/36409.html
转载随意,但请附上文章地址:-)