国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Mysqli基礎知識

2019-11-15 02:20:15
字體:
來源:轉載
供稿:網友
MySQLi基礎知識

相信原來在開始學習php的時候,很多人使用的數(shù)據庫首選MySQL,連接數(shù)據庫的擴展首選mysql擴展,但隨著php版本的提高,mysql擴展正逐漸被mysqli和PDO所取代。正如使用mysql函數(shù)時給出的dePRecated:The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead。學習mysqli擴展勢在必行了。

   相對于mysql擴展,mysqli擴展支持面向對象和面向過程兩種方式,支持預處理,支持事務處理,而且速度比mysql速度更快。本篇將主要介紹mysqli的面向對象的基本簡單操作。

   mysqli安裝配置

  mysqli的安裝配置和其他配置一樣,首先要確認你的ext文件夾下存在php_mysqli.dll文件(一般而言是存在的),并且在php.ini文件中去掉“extension=php_mysqli.dll”這一行前的";",并且確定配置文件中extension_dir='ext目錄所在的位置。重新啟動服務器后,便可以使用mysqli擴展啦~

   如何驗證mysqli擴展已經開啟了呢?

   其實最直接的是使用mysqli擴展的函數(shù)看看能不能用,例如通過能否連接數(shù)據庫判斷擴展已經安裝完成。連接成功,不必說,自然是裝好了,連接不成功,也不要輕易認為沒有裝好,我們還有后招,利用phpinfo()函數(shù),我們可以明確知道m(xù)ysqli是否可用。

   當然可以通過extension_loaded('mysqli') 來判斷是否裝載mysqli擴展,甚至可以通過get_loaded_extensions()獲得到底裝載了哪些擴展。

  面向對象mysqli的使用

  對于使用過mysql擴展的開發(fā)者,mysqli無論是面向對象還是面向過程的 方式都是非常容易理解的,有種似曾相識的感覺。具體的屬性方法請參照php官方手冊,http://php.net/manual/zh/mysqli.summary.php,下面我我通過一段代碼示例mysqli的使用過程。

本例中操作做的表為test表,有id,title兩個字段。

<?php //配置文件完成相關配置define("HOST", "localhost");define("USER", 'root');define("PWD", '');define("DB", 'yii');//建立連接,生成mysqli實例對象。$mysqli=new Mysqli(HOST,USER,PWD,DB);if ($mysqli->connect_errno) {    "Connect Error:".$mysqli->connect_error;}//設置默認的字符集$mysqli->set_charset('utf8');$sql="select * from test";//生成mysql_result對象$result=$mysqli->query($sql);//返回二維關聯(lián)數(shù)組,參數(shù)同理可以設定為MYSQLI_NUM返回索引數(shù)組,或者MYSQLI_BOTH二者兼有。$rows=$result->fetch_all(MYSQLI_ASSOC);//將結果指針調整到任意行$result->data_seek(2);$row=$result->fetch_row();//$row=$result->fetch_array();//$row=$result->fetch_assoc();//$row=$result->fetch_object();//釋放結果集$result->free();//$result->free_result();//$result->close();//關閉連接$mysqli->close();

以上代碼僅僅是簡單地展現(xiàn)了如何 利用mysqli進行查詢,未對查詢結果集進行遍歷,如何取出數(shù)組中的數(shù)據應該不是難事。

需要注意的是$mysqli->query()執(zhí)行的sql語句,成功執(zhí)行SELECT, SHOW, DESCRIBEEXPLAIN查詢會返回一個mysqli_result 對象,其他查詢則返回 TRUE,執(zhí)行失敗則都返回false。

在進行INSERT,UPDATE,DELETE操作時可以調用$mysqli->affected_rows獲得受影響記錄條數(shù)

$mysqli->affected_rows 返回值 返回-1表明sql語句出現(xiàn)問題,0表示沒有受影響的記錄,其他數(shù)值則是受影響條數(shù)。

   

執(zhí)行多條SQL語句,預處理,以及事務處理也是mysqli的重要內容,我會在后來的隨筆中寫到。

p個s:第一次寫技術博客好緊張有木有!很多措辭不當?shù)牡胤竭€是希望大家多多提意見~


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 刚察县| 丰顺县| 玛多县| 喜德县| 大埔区| 噶尔县| 武安市| 兴海县| 友谊县| 陇川县| 文成县| 石首市| 永川市| 二连浩特市| 囊谦县| 贞丰县| 上思县| 长宁县| 武平县| 彩票| 江西省| 曲阳县| 文化| 长子县| 上虞市| 涡阳县| 西宁市| 格尔木市| 桓台县| 湘阴县| 波密县| 北海市| 南京市| 普兰店市| 福建省| 临夏市| 科技| 金门县| 永顺县| 萨迦县| 饶阳县|