Heim > Artikel > Backend-Entwicklung > php mysql经典数据库连接类代码_PHP教程
function mysql教程connector() : 类的构造函数,定义和包含配置信息
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 "";
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 "
";
// 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) //执行查询
*/