php mysql db封装类_PHP数据库处理封装类实例

本文提供了一个PHP数据库处理类的实例,该类用于连接、选择数据库、执行查询及获取结果集。类中包含了对mysqli和mysql函数库的支持,确保了向后兼容。通过创建mydb类的实例,可以轻松地进行数据库操作,如选择数据库`wps`,执行更新和查询操作,并返回查询结果。
摘要由CSDN通过智能技术生成

本文实例讲述了PHP数据库处理封装类。分享给大家供大家参考,具体如下:

MySQL的操作相关类,检查并使用了mysqli

//sample15_12.php

class mydb {

private $user;

private $pass;

private $host;

private $db;

//Constructor function.

public function __construct (){

$num_args = func_num_args();

if($num_args > 0){

$args = func_get_args();

$this->host = $args[0];

$this->user = $args[1];

$this->pass = $args[2];

$this->connect();

}

}

//Function to tell us if mysqli is installed.

private function mysqliinstalled (){

if (function_exists ("mysqli_connect")){

return true;

} else {

return false;

}

}

//Function to connect to the database.

private function connect (){

try {

//Mysqli functionality.

if ($this->mysqliinstalled()){

if (!$this->db = new mysqli ($this->host,$this->user,$this->pass)){

$exceptionstring = "Error connection to database:
";

$exceptionstring .= mysqli_connect_errno() . ": " . mysqli_connect_error();

throw new exception ($exceptionstring);

}

//Mysql functionality.

} else {

if (!$this->db = mysql_connect ($this->host,$this->user,$this->pass)){

$exceptionstring = "Error connection to database:
";

$exceptionstring .= mysql_errno() . ": " . mysql_error();

throw new exception ($exceptionstring);

}

}

} catch (exception $e) {

echo $e->getmessage();

}

}

//Function to select a database.

public function selectdb ($thedb){

try {

//Mysqli functionality.

if ($this->mysqliinstalled()){

if (!$this->db->select_db ($thedb)){

$exceptionstring = "Error opening database: $thedb:
";

$exceptionstring .= $this->db->errno . ": " . $this->db->error;

throw new exception ($exceptionstring);

}

//Mysql functionality.

} else {

if (!mysql_select_db ($thedb, $this->db)){

$exceptionstring = "Error opening database: $thedb:
";

$exceptionstring .= mysql_errno() . ": " . mysql_error();

throw new exception ($exceptionstring);

}

}

} catch (exception $e) {

echo $e->getmessage();

}

}

//Function to perform a query.

public function execute ($thequery){

try {

//Mysqli functionality.

if ($this->mysqliinstalled()){

if (!$this->db->query ($thequery)){

$exceptionstring = "Error performing query: $thequery:
";

$exceptionstring .= $this->db->errno . ": " . $this->db->error;

throw new exception ($exceptionstring);

} else {

echo "Query performed correctly: " . $this->db->affected_rows . " row(s) affected.
";

}

//Mysql functionality.

} else {

if (!mysql_query ($thequery, $this->db)){

$exceptionstring = "Error performing query: $thequery:
";

$exceptionstring .= mysql_errno() . ": " . mysql_error();

throw new exception ($exceptionstring);

} else {

echo "Query performed correctly: " . mysql_affected_rows () . " row(s) affected.
";

}

}

} catch (exception $e) {

echo $e->getmessage();

}

}

//Function to return a row set.

public function getrows ($thequery){

try {

//Mysqli functionality.

if ($this->mysqliinstalled()){

if ($result = $this->db->query ($thequery)){

$returnarr = array ();

while ($adata = $result->fetch_array ()){

$returnarr = array_merge ($returnarr,$adata);

}

return $returnarr;

} else {

$exceptionstring = "Error performing query: $thequery:
";

$exceptionstring .= $this->db->errno . ": " . $this->db->error;

throw new exception ($exceptionstring);

}

//Mysql functionality.

} else {

if (!$aquery = mysql_query ($thequery)){

$exceptionstring = "Error performing query: $thequery:
";

$exceptionstring .= mysql_errno() . ": " . mysql_error();

throw new exception ($exceptionstring);

} else {

$returnarr = array ();

while ($adata = mysql_fetch_array ($aquery)){

$returnarr = array_merge ($returnarr,$adata);

}

return $returnarr;

}

}

} catch (exception $e) {

echo $e->getmessage();

}

}

//Function to close the database link.

public function __destruct() {

try {

//Mysqli functionality.

if ($this->mysqliinstalled()){

if (!$this->db->close()){

$exceptionstring = "Error closing connection:
";

$exceptionstring .= $this->db->errno . ": " . $this->db->error;

throw new exception ($exceptionstring);

}

//Mysql functionality.

} else {

if (!mysql_close ($this->db)){

$exceptionstring = "Error closing connection:
";

$exceptionstring .= mysql_errno() . ": " . mysql_error();

throw new exception ($exceptionstring);

}

}

} catch (exception $e) {

echo $e->getmessage();

}

}

}

//Now, let us create an instance of mydb.

$mydb = new mydb ("localhost","root","");

//Select a database to use.

$mydb->selectdb ("wps");

//Now, let's perform an action.

//$adata = $mydb->execute ("UPDATE cd SET title='Hybrid Theory' WHERE cdid='2'");

//Then, let's try to return a row set.

$adata = $mydb->getrows ("SELECT * FROM wp_terms");

for ($i = 0; $i < count ($adata); $i++){

echo $adata[$i] . "
";

}

$mydb->selectdb("test");

$result = $mydb->execute("UPDATE user SET age = 23 WHERE id = 2");

echo "
";

echo $result;

?>

希望本文所述对大家PHP程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值