<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      PHP調用3種數據庫的方法(1)

      [摘要]MySQL是一個小巧靈瓏的數據庫服務器軟件,對于中、小型應用系統是非常理想的。除了支持標準的ANSI SQL語句外,最重要的是,它還支持多種平臺,而在Unix/Linux系統上,MySQL支持多線程...
      MySQL是一個小巧靈瓏的數據庫服務器軟件,對于中、小型應用系統是非常理想的。除了支持標準的ANSI SQL語句外,最重要的是,它還支持多種平臺,而在Unix/Linux系統上,MySQL支持多線程運行方式,從而能獲得相當好的性能。它和PHP、Apache一樣,是屬于開放源代碼軟件。其官方網站是: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; //若pageno比1小,則把它設置為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];

      if($field_value==""){

      echo "<td> </td>";

      }

      else{

      echo "<td>$field_value</td>";

      }

      }

      echo "</tr>";

      }

      echo "</table>";//表格輸出結束

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

      }

      else{

      echo "目前該表中沒有任何數據!";

      }

      mysql_close($server) or die("無法與服務器斷開連接!");//斷開連接并釋放資源

      ?>




      日韩精品一区二区三区高清