Mysqli基本常識。本站提示廣大學習愛好者:(Mysqli基本常識)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysqli基本常識正文
信任本來在開端進修php的時刻,許多人應用的數據庫首選MySQL,銜接數據庫的擴大首選mysql擴大,但跟著php版本的進步,mysql擴大正逐步被mysqli和PDO所代替。正如應用mysql函數時給出的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擴大的函數看看能不克不及用,例如經由過程可否銜接數據庫斷定擴大曾經裝置完成。銜接勝利,不用說,天然是裝好了,銜接不勝利,也不要隨意馬虎以為沒有裝好,我們還有後招,應用phpinfo()函數,我們可以明白曉得mysqli能否可用。
固然可以經由過程extension_loaded('mysqli') 來斷定能否裝載mysqli擴大,乃至可以經由過程get_loaded_extensions()取得究竟裝載了哪些擴大。
面向對象mysqli的應用
關於應用過mysql擴大的開辟者,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); //前往二維聯系關系數組,參數同理可以設定為MYSQLI_NUM前往索引數組,或許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();
以上代碼僅僅是簡略地展示了若何 應用mysqli停止查詢,未對查詢成果集停止遍歷,若何掏出數組中的數據應當不是難事。
須要留意的是$mysqli->query()履行的sql語句,勝利履行SELECT, SHOW, DESCRIBE或 EXPLAIN查詢會前往一個mysqli_result 對象,其他查詢則前往 TRUE,履行掉敗則都前往false。
在停止INSERT,UPDATE,DELETE操作時可以挪用$mysqli->affected_rows取得受影響記載條數
$mysqli->affected_rows 前往值 前往-1注解sql語句湧現成績,0表現沒有受影響的記載,其他數值則是受影響條數。
履行多條SQL語句,預處置,和事務處置也是mysqli的主要內容,我會在後來的漫筆中寫到。
以上所述就是本文的全體內容了,願望年夜家可以或許愛好。