1)MySQL非持久連接:
resource MySQL_connect([string server [, string username [, string passWord [, bool new_link [,int clIEnt_flags]]]]])
函數調用成功返回已打開連接的資源描述符,調用失敗則返回NULL。
參數說明:
server:數據庫服務器的IP地址或主機名。此參數可以帶上端口號。
username:數據庫用戶名。
passWord:數據庫用戶密碼。
new_link:當該參數為FALSE或者被省略時,如果參數全部一樣,那麼後一次的調用將不會建立新的連接,而是直接返回先前已建立好的連接資源描述符。當該參數為TRUE時,則不管如何每次調用都產生新連接。
client_flags:該參數可以是MYSQL_CLIENT_COMPRESS(使用壓縮的通信協議),MYSQL_CLIENT_IGNORE_SPACE(忽略空格)或者MYSQL_CLIENT_INTERACTIVE(允許設置關閉連接之前所等候的interactive_timeout時間)這些常量或者它們的組合。2)MySQL持久連接:
resource MySQL_pconnect([string server [, string username [, string passWord [,int clIEnt_flags]]]]])
用mysql_pconnect打開的連接是一個持久連接。對於持久連接,即使調用MySQL_close函數也不能將它關閉。同樣,腳本執行完畢之後,持久連接也不會像非持久連接一樣被自動關閉。而是會被存儲到PHP自己的類似連接池的地方,當下一次用同樣的數據庫服務器主機名、用戶名和密碼打開持久連接時,mysql_pconnect就會將之前所打開連接的連接資源描述符直接返回。3)關閉MySQL連接:
bool MySQL_close([resource link_identifIEr])4)選定將要進行查詢的數據庫:
bool MySQL_select_db(string database_name [, resource link_identifIEr])
如果成功選定了數據庫,則該函數返回TRUE,否則返回FALSE。
參數說明:
database_name:數據庫名字
link_identifIEr:數據庫連接資源描述符,如果不指定則使用最近一次打開的連接5)執行sql語句:
resource MySQL_query(string query [, resource link_identifIEr])
如果我們用mysql_query發起的查詢是SELECT、SHOW、EXPLAIN、DESCRIBE、DESC之一,MySQL_query將返回查詢結果的資源描述符;假如是其他查詢,則返回布爾值,即成功返回TRUE,失敗返回FALSE。
參數說明:
query:進行查詢的sql語句。
link_identifIEr:數據庫連接資源描述符,如果不指定則使用最近一次打開的連接。6)使用MySQL_fetch_array函數從查詢結果集中獲取數據:
array MySQL_fetch_array(resource result [, int result_type])
使用該函數可以按數組的方式從結果集中取得一行,並且將結果集的偏移量往後移一行,當已經沒有數據行的時候,該函數返回NULL。所以我們可以利用循環調用該函數來取得所有的查詢數據。
參數說明:
result:此參數是MySQL_query返回的查詢結果的資源描述符。
result_type:此參數可以是MYSQL_ASSOC(獲取的數據存儲於數組中並采用數據表字段名做索引)、MYSQL_NUM(獲取的數據存儲於數組中並采用數字做索引)和MySQL_BOTH(獲取的數據存儲於數組中同時采用數字和數據表字段名做索引)。
另外,PHP mysql接口函數中還提供了另外兩個函數mysql_fetch_row和mysql_fetch_assoc,可以通過查詢結果的資源描述符來獲取數據。對於mysql_fetch_row,它的行為和用MYSQL_NUM調用mysql_fetch_array一樣。而mysql_fetch_assoc的效果則與用MYSQL_ASSOC調用mysql_fetch_array相同。7)使用MySQL_fetch_object函數從查詢結果集中獲取數據:
object MySQL_fetch_object(resource result)
此函數從查詢結果集中取出一行數據以對象的形式返回,並將結果集的偏移量往後移一行,當已經沒有數據行的時候,該函數返回NULL。8)得到上一次所插入數據的ID:
int MySQL_insert_id([resource link_identifIEr)
參數說明:
link_identifIEr:數據庫連接資源描述符,如果不指定則使用最近一次打開的連接。9)查詢上一次操作所影響的記錄行數:
int MySQL_affected_rows([resource link_identifIEr])
參數說明:
link_identifIEr:數據庫連接資源描述符,如果不指定則使用最近一次打開的連接。10)MySQL查詢錯誤處理:
我們可以使用mysql_errno來獲得mysql錯誤編碼,通過MySQL_error來得到錯誤詳情。
int MySQL_errno([resource link_identifIEr])
int MySQL_error([resource link_identifIEr])
參數說明:
link_identifIEr:數據庫連接資源描述符,如果不指定則使用最近一次打開的連接。// MySQL數據庫操作示例
// connect.PHP代碼如下:
<?PHP
$sServer = "127.0.0.1:3306";
$sUserName = "root";
$sPassWord = "123456";
$sDBName = "votesystem"; //數據庫名稱 //連接數據庫
$dbLink = @MySQL_connect($sServer,$sUserName,$sPassWord);
if($dbLink == NULL)
{
echo "數據庫連接失敗<br/>";
exit();
}
echo "成功連接上位於{$sServer}的數據庫<br/>"; //選定數據庫
$bResult = MySQL_select_db($sDBName,$dbLink);
if($bResult == FALSE)
{
echo "選定數據庫:{$sDBName}失敗<br/>";
exit();
}
echo "選定數據庫:{$sDBName}成功<br/>"; //數據庫查詢
$sSql = "select * from voteitem";
$result = MySQL_query($sSql,$dbLink);
echo "result的值是:".$result.",它的類型是:".gettype($result)."<br/>"; //獲取查詢數據
while($row = mysql_fetch_array($result,MySQL_ASSOC))
{
print_r($row);
echo "<br/>";
}
MySQL_data_seek($result,0);
echo "<br/><br/>"; //釋放結果集資源描述符
MySQL_free_result($result); //關閉數據庫連接
$bResult = @MySQL_close($dbLink);
if($bResult == FALSE)
{
echo "關閉數據庫連接失敗<br/>";
exit();
}
echo "成功關閉數據庫連接<br/>";
?>