摘要:介紹了在PHP5以上版本新增加的API擴展——mysqli,用以連接MySQL數據庫。
在學習《AJax and PHP Building Responsive Web Applications》的時候,書中的源代碼連接MySQL數據庫部分采用了MySQLi的方法,假若說,您的AJax始終不能正常顯示,請根據下面 的介紹進行操作,您的問題將很快得到解答。
歡迎您訪問松鼠(squirrelme)的在CSDN的技術博客:>http://blog.csdn.Net/squirrelme
1. 開啟PHP的API支持
(1)首先修改您的PHP.ini的配置文件。
查找下面的語句:
;extension=PHP_MySQLi.dll
將其修改為:
extension=PHP_MySQLi.dll
(2)重新啟動apache/IIS,即可。
(3)說明:PHP需要單獨的文件來支持這個擴展庫,一般在PHP目錄下的ext目錄裡能找到php_mysqli.dll文件(PHP <= 5.0.2 中是 libMySQLi.dll),當然,在PHP的配置文件當中要有正確指向ext的信息(extension_dir)。假若您的PHP沒有這個文件,您 可以去下載PHP5的源碼包。另外,這個API擴展,只能在PHP5以上版本使用。其它具體信息,請看下面。
2. MySQLi身份證
mysqli是“MySQL, Improved”的縮寫,該擴展僅適用於PHP 5。它能用於MySQL 4.1.1和更高版本。該擴展完全支持MySQL 5.1中采用的鑒定協議,也支持預處理語句和多語句API。此外,該擴展還提供了先進的、面向對象的編程接口。在>http://PHP.Net/mysqli上,可找到關於mysqli擴展的文檔。在>http://www.zend.com/php5/articles/php5-MySQLi.PHP處,給出了一篇有用的文章。
歡迎您訪問松鼠(squirrelme)的在CSDN的技術博客:>http://blog.csdn.Net/squirrelme
3. MySQLi預定義類
MySQLi
表達了 PHP 和 MySQL 數據庫之間的連接。
構造函數
mysqli - 構造一個新的 MySQLi 對象
方法
autocommit - 打開或關閉自動提交的數據庫選項
change_user - 改變指定的數據庫連接的用戶
character_set_name - 返回數據庫連接的默認字符集
close - 關閉一個之前打開的連接
commit - 提交當前事務
connect - 打開一個到 MySQL 數據庫服務器的新連接
debug - 執行排錯操作
dump_debug_info - 取得排錯信息
get_clIEnt_info - 返回客戶端版本
get_host_info - 返回連接使用的類型
get_server_info - 返回 MySQL 服務器的版本
get_server_version - 返回 MySQL 服務器的版本
init - 初始化 MySQLi 對象
info - 取得最近執行的查詢的信息
kill - 要求服務器停止一個 MySQL 線程
multi_query - 執行多個查詢
more_results - check if more results exist from currently executed multi-query
next_result - reads next result from currently executed multi-query
options - set options
ping - pings a server connection or reconnects if there is no connection
prepare - prepares a SQL query
query - performs a query
real_connect - attempts to open a connection to MySQL database server
escape_string - escapes special characters in a string for use in a SQL statement, taking into account the current charset of the connection
rollback - rolls back the current transaction
select_db - selects the default database
set_charset - sets the default clIEnt character set
ssl_set - sets ssl parameters
stat - gets the current system status
stmt_init- initializes a statement for use with MySQLi_stmt_prepare
store_result - transfers a resultset from last query
thread_safe - returns whether thread safety is given or not
use_result - transfers an unbuffered resultset from last query
屬性
affected_rows - gets the number of affected rows in a previous MySQL Operation
clIEnt_info - returns the MySQL clIEnt version as a string
clIEnt_version - returns the MySQL clIEnt version as an integer
errno - returns the error code for the most recent function call
error - returns the error string for the most recent function call
fIEld_count - returns the number of columns for the most recent query
host_info - returns a string representing the type of connection used
info - retrIEves information about the most recently executed query
insert_id - returns the auto generated id used in the last query
protocol_version - returns the version of the MySQL protocol used
server_info - returns a string that represents the server version number
server_version - returns the version number of the server as an integer
sqlstate - returns a string containing the SQLSTATE error code for the last error
thread_id - returns the thread ID for the current connection
warning_count - returns the number of warnings generated during execution of the previous SQL statement
4. 基本語法
歡迎您訪問松鼠(squirrelme)的在CSDN的技術博客:>http://blog.csdn.Net/squirrelme
1
PHP
2
3
/* Connect to a MySQL server 連接數據庫服務器 */
4
$link = MySQLi_connect(
5
'localhost', /* The host to connect to 連接MySQL地址 */
6
'user', /* The user to connect as 連接MySQL用戶名 */
7
'passWord', /* The passWord to use 連接MySQL密碼 */
8
'world'); /* The default database to query 連接數據庫名稱*/
9
10
if (!$link) {
11
printf("Can't connect to MySQL Server. Errorcode: %s ", MySQLi_connect_error());
12
exit;
13
}
14
15
/* Send a query to the server 向服務器發送查詢請求*/
16
if ($result = MySQLi_query($link, 'SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 5')) {
17
18
print("Very large citIEs are: ");
19
20
/* Fetch the results of the query 返回查詢的結果 */
21
while( $row = MySQLi_fetch_assoc($result) ){
22
printf("%s (%s) ", $row['Name'], $row['Population']);
23
}
24
25
/* Destroy the result set and free the memory used for it 結束查詢釋放內存 */
26
MySQLi_free_result($result);
27
}
28
29
/* Close the connection 關閉連接*/
30
MySQLi_close($link);
31
?>