——此文章摘自《PHP網絡編程典型模塊與實例精講》定價
¥
特價
¥
詳細>>
獲取到用戶輸入的信息後就該把這些信息記錄到數據庫中不過在此之前需要先建立PHP與MySQL數據庫的連接
在PHP中要建立與MySQL數據庫的連接需要使用mysqli構造函數其調用原型是
class mysqli {
__construct ( [string host [ string username [ string passwd [ string dbname [ int port [ string socket]]]]]] )
}
參數host指出MySQL數據庫服務器一般用IP地址(也可以是主機名如localhost)指出服務器所在的機器參數username和password分別指定連接時使用的用戶名和密碼參數dbname指定當前連接要使用的數據庫默認情況下PHP將連接到服務器的端口開發人員可以通過參數port指定使用其他的端口號參數socket較為少用它可以進一步指定所用的套接字或命名管道
在調用mysqli構造函數之後應當調用mysqli_connect_errno()函數檢查數據庫連接是否建立成功該函數原型是
int mysqli_connect_errno ( void )
該函數返回的是最後一次建立連接時產生的錯誤代碼如果成功則返回返回其他值說明產生了某種類型的錯誤調用mysqli_connect_error()函數可以獲得具體的錯誤信息
另外如果在建立數據庫連接時沒有指定dbname參數則還必須調用類mysqli的成員函數select_db()以指定使用數據庫服務器的哪一個數據庫該函數的原型是
bool select_db ( string database_name)
調用如果成功返回TRUE失敗返回FALSE參數database_name指定要使用的數據庫名稱
當操作完數據庫後還要調用類mysqli的成員函數close()來關閉之前打開的數據庫連接從而釋放連接資源雖然在PHP腳本執行完畢時PHP會自動關閉數據庫連接但是及時關閉數據庫連接是一個更好的編程習慣
本例中連接並使用數據庫的代碼如下
// 調用mysqli的構造函數建立連接同時選擇使用數據庫test
$db = @new mysqli( developer test);
// 檢查數據庫連接
if (mysqli_connect_errno()) {
echo 數據庫連接失敗!<br>\n;
echo mysqli_connect_error();
exit; // 退出程序後面的所有語句將不再執行
}
printf(Host information: %s <br/><br/>\n $db>host_info);
// 一些操作數據庫數據的語句
// 關閉數據庫連接
$db>close();
到此為止就已經建立好了一個操作數據庫的PHP程序框架
應當說明的是PHP的MySQL庫提供了兩套操作數據庫的方法一種是面向對象方式的另一種是面向過程方式的面向對象的方法是較先進的也是本書主要使用的方法
這兩種方式使用時的區別在於面向對象方式調用的是類mysqli的成員函數要使用類變量來調用而不需要另外指定數據庫連接資源面向過程方式調用的是全局函數要多指定一個數據庫連接資源的參數另外這兩者除了連接數據庫的方法外其他功能的函數名是對應的差別在於面向對象方式的成員函數沒有mysqli_前綴如面向對象方法使用$db>select_db(string dbname)來指定數據庫而面向過程方法使用mysqli_select_db (mysqli link string dbname)來指定數據庫(注意粗體部分標出了二者的區別)面向過程方法的函數中的參數mysqli link通過mysqli_connect()函數調用來獲得該函數的參數與mysqli的構造函數的參數完全相同不同的是 mysqli_connect()成功時返回連接資源失敗時返回布爾值FALSE
使用面向過程的方法連接數據庫的例子參見第章的節注意PHP之前的版本只支持面向過程的數據庫操作方法
如果用同樣的參數第二次調用 mysqli_connect()將不會建立新連接而是返回已經打開的連接標識
From:http://tw.wingwit.com/Article/program/PHP/201311/21500.html