導航:首頁 > 編程語言 > phpmysqli封裝

phpmysqli封裝

發布時間:2023-11-19 13:43:49

A. php 求一個mysqli的db類注釋盡可能的多,初學小白

mysqli一個最簡單的例子,要深入封裝的話可以自己再增加...

其實個人覺得mysqli已經沒什麼必要封裝了.....

<?php

classdb{ //類名
public$con; //定義句柄
public$result; //結果存取

publicfunction__construct($Host,$User,$Pass,$DB){ //構建函數
$this->con=newmysqli($Host,$User,$Pass,$DB); //調用mysqli類
if($this->con->connect_error){ //判斷是否有錯誤,有錯誤則返回連接錯誤代號和錯誤內容
returnarray($this->con->connect_errno,$this->con->connect_error);
}
}

publicfunctionquery($sql,$type=''){ //執行查詢,$sql為查詢語句,$type為resultmode[MYSQLI_USE_RESULT]OR[MYSQLI_STORE_RESULT]執行成功返回true,否則返回false
$this->result=empty($type)?$this->con->query($sql):$this->con->query($sql,$type);
return!$this->result?false:true;
}

publicfunctioninsertid(){ //必須先進行query才能獲得插入或更新的id
return$this->con->insert_id;
}

publicfunctionfetch($n,$t){//獲取結果集,$n必選[array][assoc][field_direct][field][fields][object][row][all],$t為$n對應的可選參數,成功返回結果集
$f='fetch_'.$n;
return$this->result->$f($t);
}

publicfunction__destruct(){ //銷毀函數
if($this->result)$this->result->close();
if($this->con)$this->con->close();
}

publicfunctionGetError(){ //獲取錯誤
returnarray($this->con->errno,$this->con->error);
}

}

$db=newdb('127.0.0.1','','','test');
if(!$db->query("insertintotb(`time`,`amount`)values('1420085532','300')")){
var_mp($db->GetError());
die();
}
echo$db->insertid(),PHP_EOL;
$db->query('select*fromtb');
while($arr=$db->fetch('array',MYSQLI_NUM)){
echo$arr['0'],'',$arr['1'],'',$arr['2'],'',PHP_EOL;
}

B. PHP訪問MYSQL資料庫封裝類(附函數說明)

復制代碼
代碼如下:
<?php
/*
MYSQL
資料庫訪問封裝類
MYSQL
數據訪問方式,php4支持以mysql_開頭的過程訪問方式,php5開始支持以mysqli_開頭的過程和mysqli面向對象
訪問方式,本封裝類以mysql_封裝
數據訪問的一般流程:
1,連接資料庫
mysql_connect
or
mysql_pconnect
2,選擇資料庫
mysql_select_db
3,執行SQL查詢
mysql_query
4,處理返回的數據
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
*/
class
db_mysql
{
var
$querynum
=
0
;
//當前頁面進程查詢資料庫的次數
var
$dblink
;
//資料庫連接資源
//鏈接資料庫
function
connect($dbhost,$dbuser,$dbpw,$dbname='',$dbcharset='utf-8',$pconnect=0
,
$halt=true)
{
$func
=
empty($pconnect)
?
'mysql_connect'
:
'mysql_pconnect'
;
$this->dblink
=
@$func($dbhost,$dbuser,$dbpw)
;
if
($halt
&&
!$this->dblink)
{
$this->halt("無法鏈接資料庫!");
}
//設置查詢字元集
mysql_query("SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this->dblink)
;
//選擇資料庫
$dbname
&&
@mysql_select_db($dbname,$this->dblink)
;
}
//選擇資料庫
function
select_db($dbname)
{
return
mysql_select_db($dbname,$this->dblink);
}
//執行SQL查詢
function
query($sql)
{
$this->querynum++
;
return
mysql_query($sql,$this->dblink)
;
}
//返回最近一次與連接句柄關聯的INSERT,UPDATE
或DELETE
查詢所影響的記錄行數
function
affected_rows()
{
return
mysql_affected_rows($this->dblink)
;
}
//取得結果集中行的數目,只對select查詢的結果集有效
function
num_rows($result)
{
return
mysql_num_rows($result)
;
}
//獲得單格的查詢結果
function
result($result,$row=0)
{
return
mysql_result($result,$row)
;
}
//取得上一步
INSERT
操作產生的
ID,只對表有AUTO_INCREMENT
ID的操作有效
function
insert_id()
{
return
($id
=
mysql_insert_id($this->dblink))
>=
0
?
$id
:
$this->result($this->query("SELECT
last_insert_id()"),
0);
}
//從結果集提取當前行,以數字為key表示的關聯數組形式返回
function
fetch_row($result)
{
return
mysql_fetch_row($result)
;
}
//從結果集提取當前行,以欄位名為key表示的關聯數組形式返回
function
fetch_assoc($result)
{
return
mysql_fetch_assoc($result);
}
//從結果集提取當前行,以欄位名和數字為key表示的關聯數組形式返回
function
fetch_array($result)
{
return
mysql_fetch_array($result);
}
//關閉鏈接
function
close()
{
return
mysql_close($this->dblink)
;
}
//輸出簡單的錯誤html提示信息並終止程序
function
halt($msg)
{
$message
=
"<html>\n<head>\n"
;
$message
.=
"<meta
content='text/html;charset=gb2312'>\n"
;
$message
.=
"</head>\n"
;
$message
.=
"<body>\n"
;
$message
.=
"資料庫出錯:".htmlspecialchars($msg)."\n"
;
$message
.=
"</body>\n"
;
$message
.=
"</html>"
;
echo
$message
;
exit
;
}
}
?>

C. 如何在php安裝完成之後加入mysqli支持

修改php安裝目錄裡面的 php.ini 文件,用記事本打開,Ctrl+f鍵查找下面這一行
找到後把下面這一行前面的分號去掉。重啟伺服器即可。
;extension=php_mysqli.dll

D. 怎麼搭建php環境Apache+PHP+mysql

一、Apache安裝
版本解釋:openssl是表示帶有openssl模塊,利用openssl就可以給Apache配置SSL安全鏈接的,也就是使用https://方式進行訪問。
nossl則表示不帶OpenSSL模塊,無法用於SSL安全鏈接,在這里我們下載帶OpenSSL的。
選擇版本:apache_2.2.14-win32-x86-openssl-0.9.8k.msi (此處以32位為例)
下載地址:http://www.apache.org/dist/httpd/binaries/win32/
首先我們在D盤(盤符根據實際情況自己選擇)新建一個目錄, 並且命名為「WAMP」其意義為「Wdindows Apache Mysql PhpMyAdmin」 之後安裝的一些內容,也都將安裝在該目錄下。
1.安裝說明:
運行apache安裝程序,方法非常簡單,彈安裝界面後一直「next」

接著會出現一個界面,需要填寫3個內容,分別為:Network Domain、Server Name、Administrator』s Email Address 隨便填寫就好,不影響內容。
在下面還有2個選項,默認選擇為80埠,第二個為8080埠,根據個人需求選擇,一般為默認80埠。
我們繼續安裝,選擇Custom(自定義安裝)-「next」

其中有打著紅X的組件,我們單擊這個組件容,選擇「This feature, and all subfeatures, will be installed on local hard drive.」,即「此部分,及下屬子部分內容,全部安裝在本地硬碟上」。-「next」
然後選擇右下角的「change 」改變安裝路徑,安裝到剛才建立的目錄中「D:\WAMP\Apache\」-「next」
安裝完畢後,電腦右下角會多出一個圖標,雙擊打開,選擇start或restart,能正常運行,至此安裝完畢。
2.修改配置:
打開安裝錄下D:\WAMP\Apache\conf\httpd.conf 文件(修改配置文件時,不建議使用記事本,可能會對其造成影響,推薦使用Notepad++或其他編輯軟體打開修改)
打開以後Ctrl+F查找所要修改的內容
在#LoadMole vhost_alias_mole moles/mod_vhost_alias.so下添加:
LoadMole php5_mole 「D:/WAMP/PHP/php5apache2_2.dll」
PHPIniDir 「D:/WAMP/PHP」
AddType application/x-httpd-php .php
AddType application/x-httpd-php .htm
AddType application/x-httpd-php .html
DocumentRoot 「E:/WAMP/Apache/htdocs」
修改成(這里的路徑和IIS中wwwroot目錄一樣,用於存放網頁,自定義或不做修改默認):DocumentRoot 「D:/WAMP/www」
修改成(自定義或不做修改默認):
DirectoryIndex index.html
修改成:DirectoryIndex index.php default.php index.html index.htm default.html default.htm
3.測試
在D:/WAMP/www目錄下 建立個index.html頁面
在瀏覽器中輸入 http://localhost/
如果能正常顯示,Apache配置完畢,已經正常運行。
二、MySql安裝
版本解釋:The Essentials Package:不包含 embedded server and benchmark suite,有自動安裝程序和配置向導,沒有MySQL Documentation。
The Complete Package:包含 embedded server and benchmark suite,有自動安裝程序和配置向導,有MySQL Documentation。
The Noinstall Archive:包含 embedded server and benchmark suite,沒有自動安裝程序和配置向導,有MySQL Documentation。
選擇版本:mysql-essential-5.1.44-win32.msi
下載地址:http://www.mysql.com/downloads/mysql/
1.安裝說明:
打開安裝程序,單擊「next」
選擇custom,組件為默認選擇,我們不做改動-「next」
路徑設置為「D:\WAMP\Mysql」-「next」
安裝好以後點擊「finish」
跟著會出現一個配置向導-「next」
選擇「Detailed Configuration(詳細配置)」-「next」

這里有3個選項:
Developer Machine,將只用盡量少的內存;
Server Machine,將使用中等數量內存;
Dedicated MySQL Server Machine,這台伺服器上面只跑mysql資料庫,將佔用全部的內存。
可以根據自己需求選擇,這里我們選擇第二種「Server Machine」-「next」
選擇資料庫用途,同樣有3個選項:
Mutltifunctional Database多功能用途,將把資料庫優化成很好的innodb存儲類型和高效率的myisam存儲類型;
Transactional Database Only只用於事務處理類型,最好的優化innodb,但同時也支持myisam;
Non-Transactional Databse Only非事務處理類型,適合於簡單的應用,只有不支持事務的myisam類型是被支持的。
一般選擇第一種多功能的,同樣我們也是。-「next」
選擇InnodDB的數據存放位置,一般默認就行,為了統一我填寫了「WAMP/MySQL Datafiles」-「next」
選擇mysql允許的最大連接數,第一種是最大20個連接並發數,第二種是最大500個並發連接數,最後一種是自定義,自己可以根據需求選擇,我選擇第二個-「next」
下面是選擇資料庫監聽的埠,一般默認是3306,如果改成其他埠,以後連接資料庫的時候都要記住修改的埠,否則不能連接mysql資料庫,比較麻煩,這里不做修改,用mysq的默認埠:3306-「next」
這一步設置mysql的默認編碼,我們選擇第三個,並在Character Set菜單中,選擇「gbk」編碼-「next」
(註:如果要用原來資料庫的數據,最好能確定原來資料庫用的是什麼編碼,如果這里設置的編碼和原來資料庫數據的編碼不一致,在使用的時候可能會出現亂碼。)
這一步是是否要把mysql設置成windows的,一般選擇設成服務,這樣以後就可以通過服務中啟動和關閉mysql資料庫。下面的復選框也勾選上,這樣,在cmd模式下,不必非到mysql的bin目錄下執行命令。也就是把上下2個勾都打上,中間默認-「next」
這一步是設置mysql的超級用戶密碼,這個超級用戶非常重要,對mysql擁有全部的許可權,請設置好並牢記超級用戶的密碼,下面有個復選框是選擇是否允許遠程機器用root用戶連接到你的mysql伺服器上面,如果有這個需求,也請勾選。這里我們使用默認選擇,在New root password和Confirm中輸入密碼。「next」
點擊「execute」進行配置,稍微等待一會,圓點上的勾全部打上,就代表配置完畢。
2.修改配置:
打開D:\WAMP\MySQL\my.ini
設置datadir為D:/WAMP/MySQL/data/或你所要存放數據位置的目錄即可。
三、PHP安裝
版本解釋:VC9 專門為IIS定值的腳本,使用Visual Studio 2008編譯器編譯,支持最新的微軟組建,從而提高效率。
VC6 是為了其他WEB服務軟體提供的腳本 如 Apache。
Thread Safe 現成安全,之星時會進行線程 安全檢查,以防止有心要求就啟動新線程(Thread)的CGI執行方式而耗盡系統資源。
Non Thread Safe是非線程安全,在執行時不進行線程(Thread)安全檢查
選擇版本:PHP5.3(5.3.1)中VC6 x86 Thread Safe下 ZIP下載
下載地址:http://windows.php.net/download/
1.安裝說明
由於我們下載的的是ZIP壓縮包,只需要將文件解壓到「D:\WAMP\PHP」目錄下即可
2.修改配置
將E:\WAMP\PHP\php.ini-development 文件修改成php.ini
打開php.ini
; extension_dir = 「ext」
修改成:extension_dir = 「E:\WAMP\PHP\ext」
將947行下,這些文件前面的「;」去除
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_xmlrpc.dll
;date.timezone =
修改成(很多網站沒提到這里要修改,默認為美國時間,如果不修改會報錯):date.timezone = Asia/Shanghai
3.測試
重啟Apache(修改過配置文件 必須重啟Apache才會生效)
新建個index.php 頁面,代碼中輸入,保存文件放到「D:\WMAP\www\」目錄下
打開瀏覽器輸入:http://localhost/index.php 如果能正常顯示,說明PHP配置完畢,可以查看該頁面的PHP信息是否正確。
(註:在改文件中輸入函數可輸出大量的有關PHP當前狀態的信息,如PHP版本,伺服器信息和環境等。)
(註:)
接著我們測試下,是否能連接到Mysql
再新建個link.php,下代碼中輸入
$link=mysql_connect(「127.0.0.1″,」root」,」Mysql安裝時填寫的密碼」);
if(!$link) echo 「Mysql資料庫連接失敗!」;
else echo 「Mysql資料庫連接成功!」;
mysql_close();
?>
也保存文件放到「D:\WMAP\www\」目錄下
打開瀏覽器輸入:http://localhost/link.php 查看
四、PhpMyAdmin安裝
版本解釋:phpMyAdmin-3.2.5
選擇版本:phpMyAdmin-3.2.5-all-languages.zip
下載地址:http://www.phpmyadmin.net/home_page/downloads.php
1.安裝說明
解壓到D:\WAMP\phpMyAdmin
2.修改配置
打開D:\WAMP\phpMyAdmin\libraries\config.default.php
$cfg['PmaAbsoluteUri'] = 」;
修改成(填寫訪問phpMyAdmin的絕對URL):$cfg['PmaAbsoluteUri'] = 『http://localhost/PHPMyadmin/』;
$cfg['Servers'][$i]['host'] = 『localhost』;
修改成(填寫伺服器地址,通常默認,不需要修改):$cfg['Servers'][$i]['host'] = 『localhost』;
$cfg['Servers'][$i]['user'] = 『root』;
修改成(填寫Mysql用戶名,這里我們默認):$cfg['Servers'][$i]['user'] = 『root』;
$cfg['Servers'][$i]['password'] = 」;
修改成(填寫Mysql密碼):$cfg['Servers'][$i]['password'] = 『Mysql PWD;
$cfg['Servers'][$i]['auth_type'] = 『cookie』;
修改成(設置認證方法,安全因素考慮,填寫成cookie):$cfg['Servers'][$i]['auth_type'] = 『cookie』;
$cfg['blowfish_secret'] = 」;
修改成(設置短語密碼,如果上面設置成cookie,那這里不能留空,不然登陸會提示錯誤):$cfg['blowfish_secret'] = 『cookie』;
3.測試
打開瀏覽器輸入:http://localhost/phpmyadmin/ 訪問和登陸
五、結尾
至此Windows7下的PHP環境搭建完畢,大家盡情的使用吧。

E. 如何在php中擴展mysqli插件。

Mysqli是php5之後才有的功能,沒有開啟擴展的可以打開php.ini的配置文件
查找下面的語句:;extension=php_mysqli.dll將其修改為:extension=php_mysqli.dll即可。
相對於mysql有很多新的特性和優勢
(1)支持本地綁定、准備(prepare)等語法
(2)執行sql語句的錯誤代碼
(3)同時執行多個sql
(4)另外提供了面向對象的調用介面的方法。

閱讀全文

與phpmysqli封裝相關的資料

熱點內容
怎麼關閉appstore 瀏覽:472
學編程入門語言 瀏覽:303
安卓機為什麼總是出現升級提示 瀏覽:131
b樹java實現 瀏覽:943
亞馬遜雲伺服器到期了怎麼續費 瀏覽:850
我的世界網易如何在伺服器裡面加光影 瀏覽:284
nat地址訪問外網伺服器 瀏覽:966
怎樣用java編譯一個心形 瀏覽:934
如何使用python中的pygame 瀏覽:836
python實用小工具 瀏覽:24
怎麼在安卓手機上去除馬賽克 瀏覽:235
農行濃情通app怎麼下載 瀏覽:533
怎麼把原文件夾找回來 瀏覽:535
俄羅斯方塊實現python思路 瀏覽:735
漢語拼音英語編譯代碼 瀏覽:501
程序員應具備的能力 瀏覽:606
手機石墨文檔文件夾訪問許可權 瀏覽:656
客戶端如何登陸域文件伺服器 瀏覽:530
兩位數的平方計演算法 瀏覽:930
android圖片分塊 瀏覽:715