通過PHP腳本建立與一個MySQL數據庫的連接時,數據庫服務器的主機位置(在本地就是localhost)、用戶名(root)、密碼、和數據庫名是必須的。一旦建立連接,腳本就能執行SQL命令。二者聯系的一系列步驟主要為四步:
1、用mysqli_connect()連接數據庫;
2、組裝SQL查詢串,放入一個變量,該變量將作為下一步的必須參數;
3、用mysqli_query()執行查詢,
4、用mysqli_close()關閉連接。
下面深入分析
一、 mysqli_connect():建立連接,語法
mysqli_connect(server,user,passwd,database_name);
該函數將位置,用戶名,口令,數據庫名處理為串,所以必須用引號引起,例如:
$dbc = mysqli_connect('localhost','root','password','aliendatabase');
調用該函數可以得到一個數據庫連接,另外會得到一個PHP變量$dbc,這個變量與數據庫交互。
注:1、PHP語句要用分號結束。
2、使用'localhost',是代表數據庫服務器和Web服務器在同一個服務器計算機上。
3、如果省略第四個參數,會用mysqli_select_db()來指定數據庫名;
4、如果連接失敗,die()函數會終止PHP腳本,並提供失敗代碼的反饋,例如
$dbc = mysqli_connect('localhost','root','password','aliendatabase') or die('Error connecting to MySQL sever.');
如果連接未能創建就調用die()函數,反饋消息會輸出到頁面上,同時注意兩個函數之間(即or前面)不需要分號,因為這是同一條語句的延續。
二、建立PHP串變量,它包含所要執行的SQL查詢語句,比如增、刪、建等,例如建立一個INSERT查詢:
$query = "INSERT INTO aliens_abduction(first_name, last_name, ". " when_it_happend, how_long, how_many, alien_description, ". " what_they_did ,fang_spotted, other, email) ". "VALUES ('Sally', 'Jones', '3 days ago', '1 day',’four‘, ". " 'green with six tentacles', 'We just talked and palyed with a dog' , ". " 'yes', 'I may have seen your dog .Contact me.', ". " 'sa' )";
代碼說明:1. $query是一個PHP串變量,現包含一個INSERT查詢;
2. 點號"."告訴PHP將這個串與下一行串聯在一起;
3. 整個代碼是PHP代碼,必須以分號結束。
INSERT查詢存儲在一個串中之后,可以將它傳遞到mysqli_query()函數
注: 1、“查詢”含義相當廣義,可以指在數據庫上完成的任何SQL命令,包括存儲和獲取數據;
2、PHP 中 SQL 查詢語句使用雙引號
3、在 SQL 查詢語句中的字符串值必須加引號
4、數值的值不需要引號
5、NULL 值不需要引號
三、利用PHP查詢MySQL數據庫
mysqli_query()函數需要兩個信息來完成查詢:數據庫連接(第一步)和SQL查詢串(第二步),例如:
$result = mysqli_query($dbc,$query); or die('Error querying database.');
$result 變量只是存儲mysqli_query()執行的查詢是否成功。
四、用mysqli_close()關閉連接,參數為一開始簡歷的數據庫連接變量,例如:
mysqli_close($dbc);