1 :在 php 中提供了兩個用于連接 MySQL 數據庫服務器的函數。
(1)int?mysql_connect(hostname[:port][:/path/to/socket],user,pass).
(2)Int?mysql_pconnect(hostname[:port][:/path/to/socket],user,pass).
這兩個連接函數的區別:
a: 使用 mysql_pconnect(?) 建立的是一種“牢固的”( persistent )連接,即在對數據庫的操作結束后 , 已建的連接并不會被斷開,而是一直保留著,即使使用 mysql_close() 也不能終止連接。而 mysql_connect() 會在結束了對數據庫的操作后,自動的關閉已建立的連接。
b: 使用 mysql_pconnect() 時,系統總是先檢查是否已經存在使用了同樣的主機名、用戶名和密碼的“牢固連接”,如果有則直接返回該連接的連接號,而不會建立新連接。而在使用 mysql_connect() 時,如果用戶再次使用相同的參數建立連接,系統不會建立新的連接,而是返回舊的連接號。
2 : PHP? 對? MySQL? 數據庫的庫級操作共有? 3? 種,?它?們主要是:創建數據庫、選擇數據庫和刪除數據庫。這? 3? 個操作分別由? 3? 個函數來完成,它們是:
int?mysql_create_db(string?database_name,?int?[lin?k_identifier?]?);
int?mysql_select_db(string?database_name,?int?[link_?identifier?]?);
int?mysql_drop_db(string?database_name,?int?[lin?k_identifier?]?);
在函數的參數表中,?“? database_name? ”?是被操作的數據庫的名字;?“? lin?k_idenifier ”由? mysql_connect(?)? 或? mysql_pconnect(?)? 返回的連接標識號,如果不指定連接標識號,系統會試圖使用上次連接的連接號。
3 :提交查詢請求。
( 1 ): int?mysql_query(?string?query,?int?[link_identifier?]?);
( 2 ): int?mysql_db_query(?string?database,?string?query,?int?[link?_identif?ier?]?);
兩個函數的返回值都與傳來的具體請求有關。如果? query? 是一個? SELECT? 語句,語句又被成功執行?,則返回一個結果標識符?,?如果語句執行有誤則返回? FALSE? 。?如果? query 是一個? INSERT? 、? DELETE? 、? REPLACE? 或? UPDATE? 等其他? SQL? 語句?,則返回一個? boolean 類型的值。
?案例:
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set?names?'GBK'");// 防止中文亂碼
$sql="insert?into?user(name)?values(' 五天 ')";
mysql_query($sql);
echo?" 插入數據成功! ";
?>
4?: 獲取查詢結果中的數據。
string?mysql_result(?integer?result?,?integer?row,mixed?[field]?)?;
array?mysql_fetch_row(integer?result?)?;
array?mysql_fetch_array(?integer?result?,?integer?[result_?type]?)?;
object?mysql_fetch_object(?integer?result?,?integer?[result_?type]?)?;
案例 1 :
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set?names?'GBK'");// 防止中文亂碼
$sql="select?*?from?user";
$result=mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo?$row[id]."==>".$row[name]."<br>";
}
?>
案例 2 :
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set?names?'GBK'");// 防止中文亂碼
$sql="select?*?from?user";
$result=mysql_query($sql);
while($row=mysql_fetch_row($result)){
echo?$row[0]."==>".$row[1]."<br>";
}
?>
案例 3 :
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set?names?'GBK'");// 防止中文亂碼
$sql="select?*?from?user";
$result=mysql_query($sql);
while($row=mysql_fetch_object($result)){
echo?$row->id."==>".$row->name."<br>";
}
?>
5 :獲取查詢結果中的數目信息。
integer?mysql_num_fields?(?integer?resul?t)?;
integer?mysql_num_rows?(?integer?resul?t)?;
這兩個函數分別獲得結果中字段的數目和行數。參數? result? 是由? mysql_query(?)? 或 mysql_db?_query(?)? 返回的一個結果標識符。
案例:
<?
$conn=mysql_connect("localhost","root","mysqladmin");
mysql_select_db("bbs",$conn);
mysql_query("set?names?'GBK'");// 防止中文亂碼
$sql="select?*?from?user";
$result=mysql_query($sql);
echo?"fields:".mysql_num_fields($result)."<br>";
echo?"rows:".mysql_num_rows($result);
?>
或者:
$sql="select?count(*)?from?user";
$result=mysql_query($sql);
if($row=mysql_fetch_row($result)){
echo?$row[0];
}
6 :數據庫連接異常處理。
<?
$conn=@mysql_connect("localhost","root","mysqladmin")?or?
die("Sorry,Unable?to?connect?MySQL?Server.");
$db=@mysql_select_db("bbs",$conn)?or?
die("Sorry,Unable?to?select?database?bbs.");
mysql_query("set?names?'GBK'");
?>
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
