中国A级毛片免费_国自产拍91中文在线观看_97青草碰在线视频_国产α片亚洲免费在线看

首頁(yè) > 資訊學(xué)堂 > 網(wǎng)站建設(shè)
php操作Mysql的指令介紹
發(fā)布時(shí)間:2009-05-31    瀏覽次數(shù):20015  

在PHP網(wǎng)頁(yè)中創(chuàng)建MySQL連接非常簡(jiǎn)單,僅需一行指令即可,如下所示:

$link = mysql_connect(’數(shù)據(jù)庫(kù)所在位置’, ’數(shù)據(jù)庫(kù)賬號(hào)’, ’數(shù)據(jù)庫(kù)密碼’);


例如,要連接本機(jī)MySQL數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)賬號(hào)為root,數(shù)據(jù)庫(kù)密碼為123456,則連接指令如下:

$link = mysql_connect(’localhost’, ’root’, ’123456’);


這個(gè)$link變量便是通過(guò)創(chuàng)建完成的數(shù)據(jù)庫(kù)進(jìn)行連接的,如果執(zhí)行數(shù)據(jù)庫(kù)查詢指令,此變量相當(dāng)重要。

為了避免可能出現(xiàn)的錯(cuò)誤(如數(shù)據(jù)庫(kù)未啟動(dòng)、連接端口被占用等問(wèn)題),這個(gè)指令最好加上如下的錯(cuò)誤處理機(jī)制:

$link = mysql_connect('localhost', 'root', '123456')

    or die("Could not connect : " . mysql_error());

如果連接失敗,便會(huì)在瀏覽器上出現(xiàn)“Could not connect”字樣,以告知用戶錯(cuò)誤信息。

重點(diǎn)整理

在PHP網(wǎng)頁(yè)中創(chuàng)建MySQL連接非常簡(jiǎn)單,僅需以下的指令:

$link = mysql_connect('數(shù)據(jù)庫(kù)所在位置', '數(shù)據(jù)庫(kù)賬號(hào)', '數(shù)據(jù)庫(kù)密碼');

數(shù)據(jù)庫(kù)選用

在一套MySQL數(shù)據(jù)庫(kù)中,可以容納許多數(shù)據(jù)庫(kù)并存,但每次操作均只能對(duì)單一數(shù)據(jù)庫(kù)進(jìn)行。因此在連接創(chuàng)建完成后,便需選用要操作的數(shù)據(jù)庫(kù)。

選用數(shù)據(jù)庫(kù)指令如下,在此以選用mysql數(shù)據(jù)庫(kù)為例:

mysql_query("use mysql");

也可以使用專門的API指令:

mysql_select_db("mysql") or die("Could not select database");

這兩個(gè)指令都是選用mysql數(shù)據(jù)庫(kù)為欲操作的數(shù)據(jù)庫(kù)。

重點(diǎn)整理

選用數(shù)據(jù)庫(kù)指令如下,可以使用:mysql_query("use mysql");

也可以使用專門的API來(lái)下指令:mysql_select_db("mysql");

執(zhí)行SQL指令

在選用數(shù)據(jù)庫(kù)后,便可進(jìn)行SQL指令的操作,以下的范例是通過(guò)PHP程序?qū)ysql數(shù)據(jù)庫(kù)執(zhí)行 "select * from user" 這段SQL指令的語(yǔ)句:

$result = mysql_query("select * from user",$link);


其中,$result變量將存儲(chǔ)查詢后的結(jié)果,而mysql_query()函數(shù)即是查詢指令專用的函數(shù),至少需要傳入兩個(gè)參數(shù),分別是SQL語(yǔ)句與SQL連接。在此SQL語(yǔ)句為:"select * from user",SQL連接為之前所建立的$link。

如果想把SQL查詢子句分開(kāi)寫以增強(qiáng)程序的可讀性,也可這樣寫,意義與功能完全相同。

$sqlstr="select * from user";
$result = mysql_query($sqlstr,$link);
如果采用第二種寫法,更改SQL指令時(shí),僅需更改$sqlstr參數(shù)的內(nèi)容,即可改變SQL指令。

在查詢時(shí),為避免可能出現(xiàn)的錯(cuò)誤,這個(gè)指令最好加上如下的錯(cuò)誤處理機(jī)制:


$sqlstr="select * from user";
$result = mysql_query($sqlstr) or die("Query failed : " . mysql_error());


重點(diǎn)整理

進(jìn)行SQL指令的操作,對(duì)mysql數(shù)據(jù)庫(kù)執(zhí)行"select*from user" 這段SQL指令的語(yǔ)句:

$result=mysql_query("select*fromuser",$link);


分析表頭

在MySQL執(zhí)行完前面的mysql指令之后,接下來(lái)要做的便是分析所返回的數(shù)據(jù)。

而分析所返回的數(shù)據(jù)分成兩個(gè)部分:其一為分析表頭,也就是分析所返回?cái)?shù)據(jù)的字段名稱;其二為分析表身,也就是分析返回的數(shù)據(jù)內(nèi)容。

表頭數(shù)據(jù)就是字段名稱,不見(jiàn)得一定要分析,通常在顯示完整表格、查找字段對(duì)應(yīng)關(guān)系時(shí)才會(huì)進(jìn)行分析。以u(píng)ser表格為例,表頭數(shù)據(jù)便是“Host”、“User”、“Password”等字段名稱。

根據(jù)SQL查詢子句的不同,所返回的表頭字段數(shù)也不同,因此通常以while指令進(jìn)行分析。以下的例子是以php的while指令配合mysql_fetch_field()函數(shù)分析表頭,并顯示在表格的一行中:

while ($field = mysql_fetch_field($result)) {
   echo "<td>".$field->name."</td>\n";
}
echo "</tr>\n";
在這個(gè)范例中,mysql_fetch_field()函數(shù)必須傳入$result查詢結(jié)果變量,所創(chuàng)建的每個(gè)$field變量便代表一個(gè)字段。每個(gè)字段都有數(shù)種屬性(名稱、長(zhǎng)度、類型等),在此我們通過(guò)->操作符,取得 $field->name 這個(gè)字段名稱屬性,并通過(guò) echo 指令顯示出來(lái)。

重點(diǎn)整理

分析所返回的數(shù)據(jù)分成兩個(gè)部分:其一為分析表頭,其二為分析表身。

分析表頭使用mysql_fetch_field()函數(shù)必須傳入$result查詢結(jié)果變量,再通過(guò)->操作符,取得 $field->name 這個(gè)字段名稱屬性。

分析表身

表身便是返回?cái)?shù)據(jù)的實(shí)際內(nèi)容,以u(píng)ser表格為例,表身數(shù)據(jù)便是“l(fā)ocalhost”、“root”等表格實(shí)際內(nèi)容,在范例中,我們將表身內(nèi)容以表格方式全部顯示出來(lái),程序代碼如下:

while ($row = mysql_fetch_row($result)) {
       echo "<tr>\n";
       for($i=0;$i<count($row);$i++){
           echo "<td>".$row[$i]."</td>";
       }
       echo "</tr>\n";
}
與表頭數(shù)據(jù)相同,因返回?cái)?shù)據(jù)條數(shù)不定,因此亦需使用while指令進(jìn)行分析。其中mysql_fetch_row()函數(shù)需傳入$result數(shù)據(jù)。

經(jīng)過(guò)分析后,所返回的$row是一個(gè)一維數(shù)組變量,存儲(chǔ)每一行所有的數(shù)據(jù)字段。再通過(guò)for循環(huán),并配合count()函數(shù)計(jì)算數(shù)據(jù)行中的列數(shù),將$row數(shù)組中每一元素顯示出來(lái)。

當(dāng)然,也可根據(jù)需要,取出單一目標(biāo)字段進(jìn)行分析,如賬號(hào)密碼比較等。

重點(diǎn)整理

分析表頭使用mysql_fetch_row()函數(shù),必須傳入$result查詢結(jié)果變量,再通過(guò)for循環(huán),并配合count()函數(shù)計(jì)算數(shù)據(jù)行中的列數(shù),將$row數(shù)組中每一元素顯示出來(lái)。

釋放資源

完成SQL操作后,必須釋放所建立的連接資源,以免過(guò)多的連接占用造成系統(tǒng)性能的下降。釋放資源指令如下:

mysql_free_result($result);
mysql_close($link);
在這兩行語(yǔ)句中,第一行釋放了$result這個(gè)變量,第二行指令關(guān)閉與數(shù)據(jù)庫(kù)的連接$link,以釋放所占用的存儲(chǔ)器空間與數(shù)據(jù)庫(kù)連接。

重點(diǎn)整理

釋放資源指令:

mysql_free_result($result);

mysql_close($link);

X
立即咨詢159 8944 9358
提交電話預(yù)約網(wǎng)絡(luò)營(yíng)銷顧問(wèn)老師
提交您項(xiàng)目需求,博盈為您提供專屬的免費(fèi)網(wǎng)站優(yōu)化參考方案及報(bào)價(jià)X
/newsshow/10083.html
5 秒后自動(dòng)關(guān)閉