1 :在 php 中提供了兩個用于連接 MySQL 數(shù)據(jù)庫服務(wù)器的函數(shù)。
(1)int?mysql_connect(hostname[:port][:/path/to/socket],user,pass).
(2)Int?mysql_pconnect(hostname[:port][:/path/to/socket],user,pass).
這兩個連接函數(shù)的區(qū)別:
a: 使用 mysql_pconnect(?) 建立的是一種“牢固的”( persistent )連接,即在對數(shù)據(jù)庫的操作結(jié)束后 , 已建的連接并不會被斷開,而是一直保留著,即使使用 mysql_close() 也不能終止連接。而 mysql_connect() 會在結(jié)束了對數(shù)據(jù)庫的操作后,自動的關(guān)閉已建立的連接。
b: 使用 mysql_pconnect() 時,系統(tǒng)總是先檢查是否已經(jīng)存在使用了同樣的主機名、用戶名和密碼的“牢固連接”,如果有則直接返回該連接的連接號,而不會建立新連接。而在使用 mysql_connect() 時,如果用戶再次使用相同的參數(shù)建立連接,系統(tǒng)不會建立新的連接,而是返回舊的連接號。
2 : PHP? 對? MySQL? 數(shù)據(jù)庫的庫級操作共有? 3? 種,?它?們主要是:創(chuàng)建數(shù)據(jù)庫、選擇數(shù)據(jù)庫和刪除數(shù)據(jù)庫。這? 3? 個操作分別由? 3? 個函數(shù)來完成,它們是:
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?]?);
在函數(shù)的參數(shù)表中,?“? database_name? ”?是被操作的數(shù)據(jù)庫的名字;?“? lin?k_idenifier ”由? mysql_connect(?)? 或? mysql_pconnect(?)? 返回的連接標識號,如果不指定連接標識號,系統(tǒng)會試圖使用上次連接的連接號。
3 :提交查詢請求。
( 1 ): int?mysql_query(?string?query,?int?[link_identifier?]?);
( 2 ): int?mysql_db_query(?string?database,?string?query,?int?[link?_identif?ier?]?);
兩個函數(shù)的返回值都與傳來的具體請求有關(guān)。如果? query? 是一個? SELECT? 語句,語句又被成功執(zhí)行?,則返回一個結(jié)果標識符?,?如果語句執(zhí)行有誤則返回? 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?" 插入數(shù)據(jù)成功! ";
?>
4?: 獲取查詢結(jié)果中的數(shù)據(jù)。
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 :獲取查詢結(jié)果中的數(shù)目信息。
integer?mysql_num_fields?(?integer?resul?t)?;
integer?mysql_num_rows?(?integer?resul?t)?;
這兩個函數(shù)分別獲得結(jié)果中字段的數(shù)目和行數(shù)。參數(shù)? result? 是由? mysql_query(?)? 或 mysql_db?_query(?)? 返回的一個結(jié)果標識符。
案例:
<?
$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 :數(shù)據(jù)庫連接異常處理。
<?
$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'");
?>
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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