这篇文章主要介绍了使用PHP怎么封装一个数据库处理类,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:
php是一个嵌套的缩写名称,指的是英文超级文本预处理语言(php:Hypertext Preprocessor)的缩写,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。
MySQL的操作相关类,检查并使用了mysqli
<?php
//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: <br />";
$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: <br />";
$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: <br />";
$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: <br />";
$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: <br />";
$exceptionstring .= $this->db->errno . ": " . $this->db->error;
throw new exception ($exceptionstring);
} else {
echo "Query performed correctly: " . $this->db->affected_rows . " row(s) affected.<br />";
}
//Mysql functionality.
} else {
if (!mysql_query ($thequery, $this->db)){
$exceptionstring = "Error performing query: $thequery: <br />";
$exceptionstring .= mysql_errno() . ": " . mysql_error();
throw new exception ($exceptionstring);
} else {
echo "Query performed correctly: " . mysql_affected_rows () . " row(s) affected.<br />";
}
}
} 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: <br />";
$exceptionstring .= $this->db->errno . ": " . $this->db->error;
throw new exception ($exceptionstring);
}
//Mysql functionality.
} else {
if (!$aquery = mysql_query ($thequery)){
$exceptionstring = "Error performing query: $thequery: <br />";
$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: <br />";
$exceptionstring .= $this->db->errno . ": " . $this->db->error;
throw new exception ($exceptionstring);
}
//Mysql functionality.
} else {
if (!mysql_close ($this->db)){
$exceptionstring = "Error closing connection: <br />";
$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] . "<br />";
}
$mydb->selectdb("test");
$result = $mydb->execute("UPDATE user SET age = 23 WHERE id = 2");
echo "<br />";
echo $result;
?>
到此这篇关于使用PHP怎么封装一个数据库处理类的文章就介绍到这了,更多相关使用PHP怎么封装一个数据库处理类的内容请搜索亿速云以前的文章或继续浏览下面的相关文章希望大家以后多多支持亿速云!
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。