国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP連接數據庫的方法(1)

2024-05-04 23:02:08
字體:
來源:轉載
供稿:網友

 

導讀    

 
相信大家對php已經很熟悉了。php內置了幾乎對世界上所有的數據庫的支持,而不再需要重新擴充。所以有人說:不會用php調用數據庫,等于沒學php。下面是筆者根據本人的操作經驗和大俠們的意見而得出的總結,希望能給初學者提供一些益處。  

 
相信大家對php已經很熟悉了。php內置了幾乎對世界上所有的數據庫的支持,而不再需要重新擴充。所以有人說:不會用php調用數據庫,等于沒學php。下面是筆者根據本人的操作經驗和大俠們的意見而得出的總結,希望能給初學者提供一些益處。

 php
調用三種數據庫的方法

 
本文比較詳細的介紹php調用mysqlodbc以及oracle數據庫。

 mysql
是一個小巧靈瓏的數據庫服務器軟件,對于中、小型應用系統是非常理想的。除了支持標準的ansi sql語句外,最重要的是,它還支持多種平臺,而在unix/linux系統上,mysql支持多線程運行方式,從而能獲得相當好的性能。它和phpapache一樣,是屬于開放源代碼軟件。其官方網站是:http://www.mysql.com,上面提供windows,linux,unix版本的源代碼的下載。

注意,mysql訪問函數都需要有相應的權限才能運行。常用的相關函數介紹如下:

(1)integer mysql_connect(
主機,用戶名,口令);

此函數開始一個對指定主機上的mysql數據庫的連接。若該數據庫位于一個不同地端口,則在主機名后加上冒號和端口號。所有參數均為可選的,缺省情況下分別對應為本地主機、用戶正在執行的腳本名和空。主機可以是ip地址或域名。

在腳本執行結束時,連接被自動關閉,也可以用mysql_close提前關閉。

(2)boolean mysql_create_db(
數據庫名);

創建一個數據庫。注意必須用一個帶有創建數據庫許可權的帳號打開連接。

(3)boolean mysql_select_db(
數據庫名,連接號);

選擇缺省數據庫。

(4)integer mysql_query(sql
語句,連接號);

對指定數據庫進行查詢。如果sql語句是select,則返回一個結果號,否則返回的值可以不理會。如果失敗,返回false.

(5)array mysql_fetch_array(
結果號);

取出下一行,返回一個數組.可以用數字下標訪問(第一個字段是下標 0),也可以用字符串下標訪問(即使用各字段名)。如已取了最后一行,返回 false.

(6)mysql_fetch_row(
結果號);

返回一個矩陣代表結果集中一行的所有域。每次調用都會產生下一行,直到沒有行剩下時返回false。每個域值都由一個從零開始的偏移量索引。這是從查詢中獲取結果的最快方法。

(7)integer mysql_num_rows(
結果號);

返回結果集中行的數目

(8)integer mysql_num_fields(
結果號);

返回結果集中域的數目。

(9)integer mysql_list_dbs();

向服務器查詢數據庫列表。它返回一個結果指針,該指針可用于mysql_fetch_row函數及類似函數。

(10)mysql_list_tables(
數據庫名);

獲取一個指向指定數據庫的表單列表的結果指針。該結果指針可用于任何從結果集中獲取行的函數。

(11)mysql_close(
連接號);

關閉對數據庫的連接。連接必須是由mysql_connect打開的。該函數的使用不是嚴格必需的,因為在腳本結束時,所有非永久鏈路都會被自動關閉。

(12)mysql_pconnect(
主機,用戶名,口令);

mysql_connect完全相似,但建立一個"永久連接",該連接一經建立永不關閉,即使使用mysql_close函數或程序執行完畢也不關閉.下一次試圖建立永久連接時,系統如發現已存在一個永久連接,則直接返回該連接號而不重新創建。

下面是一個調用mysql數據庫并分頁顯示的例子。

<?

$pagesize = 5; //
每頁顯示5條記錄

$host="localhost";

$user="user";

$password="psw";

$dbname="book"; //
所查詢的庫表名;

//
連接mysql數據庫

mysql_connect("$host","$user","$password") or die("
無法連接mysql數據庫服務器!");

$db = mysql_select_db("$dbname") or die("
無法連接數據庫!");

$sql = "select count(*) as total from pagetest";//
生成查詢記錄數的sql語句

$rst = mysql_query($sql) or die("
無法執行sql語句:$sql "); //查詢記錄數

$row = mysql_fetch_array($rst) or die("
沒有更多的記錄!"); /取出一條記錄

$rowcount = $row["total"];//
取出記錄數

mysql_free_result($rst) or die("
無法釋放result資源!"); //釋放result資源

$pagecount = bcdiv($rowcount+$pagesize-1,$pagesize,0);//
算出總共有幾頁

if(!isset($pageno)) {

$pageno = 1; //
在沒有設置pageno時,缺省為顯示第1

}

if($pageno<1) {

$pageno = 1; //
pageno1小,則把它設置為1

}

if($pageno>$pagecount) {

$pageno = $pagecount; //
pageno比總共的頁數大,則把它設置為最后一頁

}

if($pageno>0) {

$href = eregi_replace("%2f","/",urlencode($php_self));//
$php_self轉換為可以在url上使用的字符串,這樣的話就可以處理中文目錄或中文文件名

if($pageno>1){//
顯示上一頁的褳接

echo "<a href="" . $href . "?pageno=" . ($pageno-1) . "">
上一頁</a> ";

}

else{

echo "
上一頁";

}

for($i=1;$i<$pageno;$i++){

echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";

}

echo $pageno . " ";

for($i++;$i<=$pagecount;$i++){

echo "<a href="" . $href . "?pageno=" . $i . "">" . $i . "</a> ";

}

if($pageno<$pagecount){//
顯示下一頁的褳接

echo "<a href="" . $href . "?pageno=" . ($pageno+1) . "">
下一頁</a> ";

}

else{

echo "
下一頁 ";

}

$offset = ($pageno-1) * $pagesize;//
算出本頁第一條記錄在整個表中的位置(第一條記錄為0)

$sql = "select * from pagetest limit $offset,$pagesize";//
生成查詢本頁數據的sql語句

$rst = mysql_query($sql);//
查詢本頁數據

$num_fields = mysql_num_fields($rst);//
取得字段總數

$i = 0;

while($i<$num_fields){//
取得所有字段的名字

$fields[$i] = mysql_field_name($rst,$i);//
取得第i+1個字段的名字

$i++;

}

echo "<table border="1" cellspacing="0" cellpadding="0">";//
開始輸出表格

echo "<tr>";

reset($fields);

while(list(,$field_name)=each($fields)){//
顯示字段名稱

echo "<th>$field_name</th>";

}

echo "</tr>";

while($row=mysql_fetch_array($rst)){//
顯示本頁數據

echo "<tr>";

reset($fields);

while(list(,$field_name)=each($fields)){//
顯示每個字段的值

$field_value = $row[$field_name];

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拉萨市| 嵩明县| 阳泉市| 山阳县| 陵水| 泉州市| 公主岭市| 文水县| 新田县| 嘉善县| 兰州市| 拉孜县| 台东市| 夏津县| 略阳县| 哈尔滨市| 金溪县| 虞城县| 明水县| 紫阳县| 鄂伦春自治旗| 陆丰市| 晋城| 莱州市| 禄劝| 长垣县| 华池县| 泰兴市| 安西县| 宁晋县| 永定县| 清新县| 武胜县| 贵阳市| 梅州市| 横峰县| 马龙县| 巧家县| 筠连县| 南涧| 收藏|