《Mysql入門(mén)Mysqli基礎(chǔ)知識(shí)》要點(diǎn):
本文介紹了Mysql入門(mén)Mysqli基礎(chǔ)知識(shí),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
?????? 相信本來(lái)在開(kāi)始學(xué)習(xí)php的時(shí)候,很多人使用的數(shù)據(jù)庫(kù)首選MySQL,連接數(shù)據(jù)庫(kù)的擴(kuò)展首選mysql擴(kuò)展,但隨著php版本的提高,mysql擴(kuò)展正逐漸被mysqli和PDO所取代.正如使用mysql函數(shù)時(shí)給出的deprecated: The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead.學(xué)習(xí)mysqli擴(kuò)展勢(shì)在必行了.MYSQL實(shí)例
相對(duì)于mysql擴(kuò)展,mysqli擴(kuò)展支持面向?qū)ο蠛兔嫦蜻^(guò)程兩種方式,支持預(yù)處理,支持事務(wù)處理,而且速度比mysql速度更快.本篇將主要介紹mysqli的面向?qū)ο蟮幕竞?jiǎn)單操作.MYSQL實(shí)例
mysqli安裝配置
MYSQL實(shí)例
mysqli的安裝配置和其他配置一樣,首先要確認(rèn)你的ext文件夾下存在php_mysqli.dll文件(一般而言是存在的),并且在php.ini文件中去掉“extension=php_mysqli.dll”這一行前的";",并且確定配置文件中extension_dir='ext目錄所在的位置.重新啟動(dòng)服務(wù)器后,便可以使用mysqli擴(kuò)展啦~MYSQL實(shí)例
如何驗(yàn)證mysqli擴(kuò)展已經(jīng)開(kāi)啟了呢?
MYSQL實(shí)例
其實(shí)最直接的是使用mysqli擴(kuò)展的函數(shù)看看能不能用,例如通過(guò)能否連接數(shù)據(jù)庫(kù)判斷擴(kuò)展已經(jīng)安裝完成.連接成功,不必說(shuō),自然是裝好了,連接不成功,也不要輕易認(rèn)為沒(méi)有裝好,我們還有后招,利用phpinfo()函數(shù),我們可以明確知道m(xù)ysqli是否可用.MYSQL實(shí)例
當(dāng)然可以通過(guò)extension_loaded('mysqli') 來(lái)判斷是否裝載mysqli擴(kuò)展,甚至可以通過(guò)get_loaded_extensions()獲得到底裝載了哪些擴(kuò)展.MYSQL實(shí)例
面向?qū)ο髆ysqli的使用
MYSQL實(shí)例
對(duì)于使用過(guò)mysql擴(kuò)展的開(kāi)發(fā)者,mysqli無(wú)論是面向?qū)ο筮€是面向過(guò)程的 方式都是非常容易理解的,有種似曾相識(shí)的感覺(jué).具體的屬性辦法請(qǐng)參照php官方手冊(cè),http://php.net/manual/zh/mysqli.summary.php,下面我我通過(guò)一段代碼示例mysqli的使用過(guò)程.MYSQL實(shí)例
本例中操作做的表為test表,有id,title兩個(gè)字段.MYSQL實(shí)例
<?php //配置文件完成相關(guān)配置 define("HOST", "localhost"); define("USER", 'root'); define("PWD", ''); define("DB", 'yii'); //建立連接,生成mysqli實(shí)例對(duì)象. $mysqli=new Mysqli(HOST,USER,PWD,DB); if ($mysqli->connect_errno) { "Connect Error:".$mysqli->connect_error; } //設(shè)置默認(rèn)的字符集 $mysqli->set_charset('utf8'); $sql="select * from test"; //生成mysql_result對(duì)象 $result=$mysqli->query($sql); //返回二維關(guān)聯(lián)數(shù)組,參數(shù)同理可以設(shè)定為MYSQLI_NUM返回索引數(shù)組,或者M(jìn)YSQLI_BOTH二者兼有. $rows=$result->fetch_all(MYSQLI_ASSOC); //將結(jié)果指針調(diào)整到任意行 $result->data_seek(2); $row=$result->fetch_row(); //$row=$result->fetch_array(); //$row=$result->fetch_assoc(); //$row=$result->fetch_object(); //釋放結(jié)果集 $result->free(); //$result->free_result(); //$result->close(); //關(guān)閉連接 $mysqli->close();
以上代碼僅僅是簡(jiǎn)單地展現(xiàn)了如何 利用mysqli進(jìn)行查詢(xún),未對(duì)查詢(xún)結(jié)果集進(jìn)行遍歷,如何取出數(shù)組中的數(shù)據(jù)應(yīng)該不是難事.MYSQL實(shí)例
必要注意的是$mysqli->query()執(zhí)行的sql語(yǔ)句,成功執(zhí)行SELECT, SHOW, DESCRIBE或 EXPLAIN查詢(xún)會(huì)返回一個(gè)mysqli_result 對(duì)象,其他查詢(xún)則返回 TRUE,執(zhí)行失敗則都返回false.MYSQL實(shí)例
在進(jìn)行INSERT,UPDATE,DELETE操作時(shí)可以調(diào)用$mysqli->affected_rows獲得受影響記錄條數(shù)MYSQL實(shí)例
$mysqli->affected_rows 返回值 返回-1表明sql語(yǔ)句出現(xiàn)問(wèn)題,0表示沒(méi)有受影響的記錄,其他數(shù)值則是受影響條數(shù).MYSQL實(shí)例
執(zhí)行多條SQL語(yǔ)句,預(yù)處理,以及事務(wù)處理也是mysqli的重要內(nèi)容,我會(huì)在后來(lái)的隨筆中寫(xiě)到.MYSQL實(shí)例
以上所述便是本文的全部?jī)?nèi)容了,希望大家能夠喜歡.MYSQL實(shí)例
《Mysql入門(mén)Mysqli基礎(chǔ)知識(shí)》是否對(duì)您有啟發(fā),歡迎查看更多與《Mysql入門(mén)Mysqli基礎(chǔ)知識(shí)》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/11254.html