国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home php教程 PHP開發(fā) php mysql encapsulation class example code

php mysql encapsulation class example code

Dec 21, 2016 pm 04:58 PM

廢話不多說了,具體代碼如下所示:

<?php
class mysql {
private $db_host; //數(shù)據(jù)庫主機(jī)
private $db_user; //數(shù)據(jù)庫用戶名
private $db_pwd; //數(shù)據(jù)庫用戶名密碼
private $db_database; //數(shù)據(jù)庫名
private $conn; //數(shù)據(jù)庫連接標(biāo)識;
private $result; //執(zhí)行query命令的結(jié)果資源標(biāo)識
private $sql; //sql執(zhí)行語句
private $row; //返回的條目數(shù)
private $coding; //數(shù)據(jù)庫編碼,GBK,UTF8,gb2312
private $bulletin = true; //是否開啟錯誤記錄
private $show_error = false; //測試階段,顯示所有錯誤,具有安全隱患,默認(rèn)關(guān)閉
private $is_error = false; //發(fā)現(xiàn)錯誤是否立即終止,默認(rèn)true,建議不啟用,因?yàn)楫?dāng)有問題時用戶什么也看不到是很苦惱的
/*構(gòu)造函數(shù)*/
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {
$this->db_host = $db_host;
$this->db_user = $db_user;
$this->db_pwd = $db_pwd;
$this->db_database = $db_database;
$this->conn = $conn;
$this->coding = $coding;
$this->connect();
}
/*數(shù)據(jù)庫連接*/
public function connect() {
if ($this->conn == "pconn") {
//永久鏈接
$this->conn = mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd);
} else {
//即使鏈接
$this->conn = mysql_connect($this->db_host, $this->db_user, $this->db_pwd);
}
if (!mysql_select_db($this->db_database, $this->conn)) {
if ($this->show_error) {
$this->show_error("數(shù)據(jù)庫不可用:", $this->db_database);
}
}
mysql_query("SET NAMES $this->coding");
}
/*數(shù)據(jù)庫執(zhí)行語句,可執(zhí)行查詢添加修改刪除等任何sql語句*/
public function query($sql) {
if ($sql == "") {
$this->show_error("SQL語句錯誤:", "SQL查詢語句為空");
}
$this->sql = $sql;
$result = mysql_query($this->sql, $this->conn);
if (!$result) {
//調(diào)試中使用,sql語句出錯時會自動打印出來
if ($this->show_error) {
$this->show_error("錯誤SQL語句:", $this->sql);
}
} else {
$this->result = $result;
}
return $this->result;
}
/*創(chuàng)建添加新的數(shù)據(jù)庫*/
public function create_database($database_name) {
$database = $database_name;
$sqlDatabase = &#39;create database &#39; . $database;
$this->query($sqlDatabase);
}
/*查詢服務(wù)器所有數(shù)據(jù)庫*/
//將系統(tǒng)數(shù)據(jù)庫與用戶數(shù)據(jù)庫分開,更直觀的顯示?
public function show_databases() {
$this->query("show databases");
echo "現(xiàn)有數(shù)據(jù)庫:" . $amount = $this->db_num_rows($rs);
echo "<br />";
$i = 1;
while ($row = $this->fetch_array($rs)) {
echo "$i $row[Database]";
echo "<br />";
$i++;
}
}
//以數(shù)組形式返回主機(jī)中所有數(shù)據(jù)庫名
public function databases() {
$rsPtr = mysql_list_dbs($this->conn);
$i = 0;
$cnt = mysql_num_rows($rsPtr);
while ($i < $cnt) {
$rs[] = mysql_db_name($rsPtr, $i);
$i++;
}
return $rs;
}
/*查詢數(shù)據(jù)庫下所有的表*/
public function show_tables($database_name) {
$this->query("show tables");
echo "現(xiàn)有數(shù)據(jù)庫:" . $amount = $this->db_num_rows($rs);
echo "<br />";
$i = 1;
while ($row = $this->fetch_array($rs)) {
$columnName = "Tables_in_" . $database_name;
echo "$i $row[$columnName]";
echo "<br />";
$i++;
}
}
/*
mysql_fetch_row() array $row[0],$row[1],$row[2]
mysql_fetch_array() array $row[0] 或 $row[id]
mysql_fetch_assoc() array 用$row->content 字段大小寫敏感
mysql_fetch_object() object 用$row[id],$row[content] 字段大小寫敏感
*/
/*取得結(jié)果數(shù)據(jù)*/
public function mysql_result_li() {
return mysql_result($str);
}
/*取得記錄集,獲取數(shù)組-索引和關(guān)聯(lián),使用$row[&#39;content&#39;] */
public function fetch_array($resultt="") {
if($resultt<>""){
return mysql_fetch_array($resultt);
}else{
return mysql_fetch_array($this->result);
}
}
//獲取關(guān)聯(lián)數(shù)組,使用$row[&#39;字段名&#39;]
public function fetch_assoc() {
return mysql_fetch_assoc($this->result);
}
//獲取數(shù)字索引數(shù)組,使用$row[0],$row[1],$row[2]
public function fetch_row() {
return mysql_fetch_row($this->result);
}
//獲取對象數(shù)組,使用$row->content
public function fetch_Object() {
return mysql_fetch_object($this->result);
}
//簡化查詢select
public function findall($table) {
$this->query("SELECT * FROM $table");
}
//簡化查詢select
public function select($table, $columnName = "*", $condition = &#39;&#39;, $debug = &#39;&#39;) {
$condition = $condition ? &#39; Where &#39; . $condition : NULL;
if ($debug) {
echo "SELECT $columnName FROM $table $condition";
} else {
$this->query("SELECT $columnName FROM $table $condition");
}
}
//簡化刪除del
public function delete($table, $condition, $url = &#39;&#39;) {
if ($this->query("DELETE FROM $table WHERE $condition")) {
if (!empty ($url))
$this->Get_admin_msg($url, &#39;刪除成功!&#39;);
}
}
//簡化插入insert
public function insert($table, $columnName, $value, $url = &#39;&#39;) {
if ($this->query("INSERT INTO $table ($columnName) VALUES ($value)")) {
if (!empty ($url))
$this->Get_admin_msg($url, &#39;添加成功!&#39;);
}
}
//簡化修改update
public function update($table, $mod_content, $condition, $url = &#39;&#39;) {
//echo "UPDATE $table SET $mod_content WHERE $condition"; exit();
if ($this->query("UPDATE $table SET $mod_content WHERE $condition")) {
if (!empty ($url))
$this->Get_admin_msg($url);
}
}
/*取得上一步 INSERT 操作產(chǎn)生的 ID*/
public function insert_id() {
return mysql_insert_id();
}
//指向確定的一條數(shù)據(jù)記錄
public function db_data_seek($id) {
if ($id > 0) {
$id = $id -1;
}
if (!@ mysql_data_seek($this->result, $id)) {
$this->show_error("SQL語句有誤:", "指定的數(shù)據(jù)為空");
}
return $this->result;
}
// 根據(jù)select查詢結(jié)果計(jì)算結(jié)果集條數(shù)
public function db_num_rows() {
if ($this->result == null) {
if ($this->show_error) {
$this->show_error("SQL語句錯誤", "暫時為空,沒有任何內(nèi)容!");
}
} else {
return mysql_num_rows($this->result);
}
}
// 根據(jù)insert,update,delete執(zhí)行結(jié)果取得影響行數(shù)
public function db_affected_rows() {
return mysql_affected_rows();
}
//輸出顯示sql語句
public function show_error($message = "", $sql = "") {
if (!$sql) {
echo "<font color=&#39;red&#39;>" . $message . "</font>";
echo "<br />";
} else {
echo "<fieldset>";
echo "<legend>錯誤信息提示:</legend><br />";
echo "<div style=&#39;font-size:14px; clear:both; font-family:Verdana, Arial, Helvetica, sans-serif;&#39;>";
echo "<div style=&#39;height:20px; background:#000000; border:1px #000000 solid&#39;>";
echo "<font color=&#39;white&#39;>錯誤號:12142</font>";
echo "</div><br />";
echo "錯誤原因:" . mysql_error() . "<br /><br />";
echo "<div style=&#39;height:20px; background:#FF0000; border:1px #FF0000 solid&#39;>";
echo "<font color=&#39;white&#39;>" . $message . "</font>";
echo "</div>";
echo "<font color=&#39;red&#39;><pre class="brush:php;toolbar:false">" . $sql . "
"; $ip = $this->getip(); if ($this->bulletin) { $time = date("Y-m-d H:i:s"); $message = $message . "\r\n$this->sql" . "\r\n客戶IP:$ip" . "\r\n時間 :$time" . "\r\n\r\n"; $server_date = date("Y-m-d"); $filename = $server_date . ".txt"; $file_path = "error/" . $filename; $error_content = $message; //$error_content="錯誤的數(shù)據(jù)庫,不可以鏈接"; $file = "error"; //設(shè)置文件保存目錄 //建立文件夾 if (!file_exists($file)) { if (!mkdir($file, 0777)) { //默認(rèn)的 mode 是 0777,意味著最大可能的訪問權(quán) die("upload files directory does not exist and creation failed"); } } //建立txt日期文件 if (!file_exists($file_path)) { //echo "建立日期文件"; fopen($file_path, "w+"); //首先要確定文件存在并且可寫 if (is_writable($file_path)) { //使用添加模式打開$filename,文件指針將會在文件的開頭 if (!$handle = fopen($file_path, 'a')) { echo "不能打開文件 $filename"; exit; } //將$somecontent寫入到我們打開的文件中。 if (!fwrite($handle, $error_content)) { echo "不能寫入到文件 $filename"; exit; } //echo "文件 $filename 寫入成功"; echo "——錯誤記錄被保存!"; //關(guān)閉文件 fclose($handle); } else { echo "文件 $filename 不可寫"; } } else { //首先要確定文件存在并且可寫 if (is_writable($file_path)) { //使用添加模式打開$filename,文件指針將會在文件的開頭 if (!$handle = fopen($file_path, 'a')) { echo "不能打開文件 $filename"; exit; } //將$somecontent寫入到我們打開的文件中。 if (!fwrite($handle, $error_content)) { echo "不能寫入到文件 $filename"; exit; } //echo "文件 $filename 寫入成功"; echo "——錯誤記錄被保存!"; //關(guān)閉文件 fclose($handle); } else { echo "文件 $filename 不可寫"; } } } echo "
"; if ($this->is_error) { exit; } } echo "
"; echo ""; echo "
"; } //釋放結(jié)果集 public function free() { @ mysql_free_result($this->result); } //數(shù)據(jù)庫選擇 public function select_db($db_database) { return mysql_select_db($db_database); } //查詢字段數(shù)量 public function num_fields($table_name) { //return mysql_num_fields($this->result); $this->query("select * from $table_name"); echo "
"; echo "字段數(shù):" . $total = mysql_num_fields($this->result); echo "
";
for ($i = 0; $i < $total; $i++) {
print_r(mysql_fetch_field($this->result, $i));
}
echo "
"; echo "
"; } //取得 MySQL 服務(wù)器信息 public function mysql_server($num = '') { switch ($num) { case 1 : return mysql_get_server_info(); //MySQL 服務(wù)器信息 break; case 2 : return mysql_get_host_info(); //取得 MySQL 主機(jī)信息 break; case 3 : return mysql_get_client_info(); //取得 MySQL 客戶端信息 break; case 4 : return mysql_get_proto_info(); //取得 MySQL 協(xié)議信息 break; default : return mysql_get_client_info(); //默認(rèn)取得mysql版本信息 } } //析構(gòu)函數(shù),自動關(guān)閉數(shù)據(jù)庫,垃圾回收機(jī)制 public function __destruct() { if (!empty ($this->result)) { $this->free(); } mysql_close($this->conn); } //function __destruct(); /*獲得客戶端真實(shí)的IP地址*/ function getip() { if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) { $ip = getenv("HTTP_CLIENT_IP"); } else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) { $ip = getenv("HTTP_X_FORWARDED_FOR"); } else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) { $ip = getenv("REMOTE_ADDR"); } else if (isset ($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) { $ip = $_SERVER['REMOTE_ADDR']; } else { $ip = "unknown"; } return ($ip); } function inject_check($sql_str) { //防止注入 $check = eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str); if ($check) { echo "輸入非法注入內(nèi)容!"; exit (); } else { return $sql_str; } } function checkurl() { //檢查來路 if (preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) !== preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])) { header("Location: http://www.dareng.com"); exit(); } } } ?>

以上所述是小編給大家介紹的php mysql 封裝類實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的,在此也非常感謝大家對php中文網(wǎng)的支持!

更多php mysql 封裝類實(shí)例代碼相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)