这篇文章主要介绍了php数据库处理封装类,结合完整实例形式分析了php基于mysqli封装的数据库连接及增删改查等操作,需要的朋友可以参考下
具体如下:
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免费学习笔记(深入)”;
相关推荐:
安装环境: php5.2+mysql5.x 以上;Zend版本: Zend Optimizer 3.3.0 或以上版本最少配置 200M+20Mmysql;推荐配置:大于500M空间+大于50M数据库。 站长要求:网络建站初学者及更高级站长。网站管理要求:一天在线5小时左右(主要为了在线客服,邮件或电话服务可忽略),管理时间30分钟左右(做提现审核及支付处理,适当增加文章发布等)。适合环境:单独建
0
以上就是PHP数据库处理封装类的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号