如果你需要一個簡短的回答,即 "你習慣哪個就用哪個"。
html' target='_blank'>MySQLi 和 PDO 有它們自己的優(yōu)勢:
PDO 應(yīng)用在 12 種不同數(shù)據(jù)庫中, MySQLi 只針對 MySQL 數(shù)據(jù)庫。
所以,如果你的項目需要在多種數(shù)據(jù)庫中切換,建議使用 PDO ,這樣你只需要修改連接字符串和部分查詢語句即可。使用 MySQLi, 如果不同數(shù)據(jù)庫,你需要重新編寫所有代碼,包括查詢。
兩者都是面向?qū)ο?/u>, 但 MySQLi 還提供了 API 接口。
兩者都支持預(yù)處理語句。 預(yù)處理語句可以防止 SQL 注入,對于 web 項目的安全性是非常重要的。
在本章節(jié)及接下來的章節(jié)中,我們會使用以下三種方式來演示 PHP 操作 MySQL:
MySQLi (面向?qū)ο? MySQLi (面向過程)Linux 和 Windows: 在 php5 mysql 包安裝時 MySQLi 擴展多數(shù)情況下是自動安裝的。
安裝詳細信息,請查看:http://php.net/manual/en/mysqli.installation.php
可以通過 phpinfo() 查看是否安裝成功:
kindyear
246***[email protected]
我們可以用一下辦法來測試PHP的MySQL數(shù)據(jù)庫的連接。
使用函數(shù) parse_ini_file() 解析配置文件 config.ini 來獲得數(shù)據(jù)庫連接參數(shù),然后使用 new 關(guān)鍵字對 mysqli 類進行實例化,最后使用函數(shù) mysqli_connect_errno() 來判斷是否成功連接上了 MySQL 數(shù)據(jù)庫,實現(xiàn)該過程的代碼如下所示:
try{ //解析config.ini文件 $config = parse_ini_file(realpath(dirname(__FILE__) . '/config/config.ini')); //對mysqli類進行實例化 $mysqli = new mysqli($config['host'], $config['username'], $config['password'], $config['dbname']); if(mysqli_connect_errno()){ //判斷是否成功連接上MySQL數(shù)據(jù)庫 throw new Exception('數(shù)據(jù)庫連接錯誤!'); //如果連接錯誤,則拋出異常 }else{ echo '數(shù)據(jù)庫連接成功!'; //打印連接成功的提示}catch (Exception $e){ //捕獲異常 echo $e- getMessage(); //打印異常信息}
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
|
新聞熱點
疑難解答