溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

PHP怎么實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作

發(fā)布時(shí)間:2021-08-09 18:31:18 來(lái)源:億速云 閱讀:125 作者:chen 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“PHP怎么實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“PHP怎么實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作”吧!

  classdbInterface{var$dbID=1;//用于確定當(dāng)前操作的數(shù)據(jù)庫(kù),當(dāng)dbID為1代表MySql,當(dāng)為2代表SQLServer,為3時(shí)為ODBC或其它。

  var$dbHost;//數(shù)據(jù)庫(kù)所在主機(jī)域名

  var$dbUsername;//數(shù)據(jù)庫(kù)用戶(hù)名

  var$dbPassword;//用戶(hù)密碼

  //設(shè)置主機(jī)、用戶(hù)名及密碼函數(shù)

  functionsetParameter($host,$username,$password){

  $this->dbUsername=$username;

  $this->dbHost=$host;

  $this->dbPassword=$password;

  }//聯(lián)接數(shù)庫(kù)函數(shù)

  functiondbConnect(){

  switch($this->dbID)

  {

  case1;

  return@mysql_connect($this->dbHost,$this->dbUsername,$this->dbPassword);

  case2;

  //用支持SQLServer的函數(shù)

  case3;

  //用支持ODBC的函數(shù)

  }

  }

  //關(guān)閉數(shù)庫(kù)函數(shù)

  functiondbClose($dataHandle){

  switch($this->dbID)

  {

  case1;

  mysql_close($dataHandle);

  case2;

  //用支持SQLServer的函數(shù)

  case3;

  //用支持ODBC的函數(shù)

  }

  }

  //執(zhí)行SQL語(yǔ)句函數(shù)

  functiondbQuery($dbName,$sql,$dbHandle){

  switch($this->dbID)

  {

  case1;

  return@mysql_db_query($dbName,$sql,$dbHandle);

  case2;

  //用支持SQLServer的函數(shù)

  case3;

  //用支持ODBC的函數(shù)

  }

  }

  //檢索SQL返回值的當(dāng)前記錄函數(shù)

  functiondbFetchrow($dataHandle,$offset=-1){

  switch($this->dbID)

  {

  case1;

  @mysql_data_seek($dataHandle,$offset);

  return@mysql_fetch_row($dataHandle);

  case2;

  //用支持SQLServer的函數(shù)

  case3;

  //用支持ODBC的函數(shù)

  }

  }

  //返回檢索記錄數(shù)函數(shù)

  functiondbNumrows($dataHandle){

  switch($this->dbID)

  {

  case1;

  return@mysql_num_rows($dataHandle);

  case2;

  //用支持SQLServer的函數(shù)

  case3;

  //用支持ODBC的函數(shù)

  }

  }

  //返回檢索列數(shù)函數(shù)

  functiondbNumcols($dataHandle){

  switch($this->dbID)

  {

  case1;

  return@mysql_num_fields($dataHandle);

  case2;

  //用支持SQLServer的函數(shù)

  case3;

  //用支持ODBC的函數(shù)

  }

  }

  }

  PHP中怎樣對(duì)數(shù)據(jù)庫(kù)操作的封裝

  現(xiàn)把使用說(shuō)明如下:

  在程序中用dbInterface類(lèi)生一個(gè)對(duì)象$test=newdbInterface;

  設(shè)置參數(shù)

  test->$dbUsername;用戶(hù)名

  test->$dbPassword;密碼

  test->$dbHost;主機(jī)

  voidsetParameter(stringhost,stringusername,stringpassword);

  數(shù)據(jù)庫(kù)連接:dbhandletest->dbConnect();

  返回值:fasle,數(shù)據(jù)庫(kù)連接錯(cuò)誤

  >0,數(shù)據(jù)庫(kù)連接句柄

  數(shù)據(jù)庫(kù)關(guān)閉:voidtest->dbClose(dbhandle);

  表操作:inttest->dbQuery(stringdatabasename,stringsql,dbhandle);執(zhí)行SQL語(yǔ)句

  返回值:false,SQL執(zhí)行錯(cuò)誤

  >0,SQL執(zhí)行正確,同時(shí)指向SQL返回值,

  數(shù)據(jù)操作:inttest->dbFetchrow(dataHandle,intoffset);檢索SQL返回值的當(dāng)前記錄,成功執(zhí)行后,指針移向下一條記錄

  inttest->dbNumrows(dataHandle);取得SQL執(zhí)行后(主要為SELECT語(yǔ)句)獲得的記錄數(shù)

  inttest->dbNumcols(dataHandle);取得SQL執(zhí)行后(主要為SELECT語(yǔ)句)獲得的記錄字段數(shù)

  現(xiàn)在我們發(fā)一個(gè)例了講解:

  數(shù)據(jù)庫(kù)采用MQSQL:其主機(jī)名為"localhost",用戶(hù)名為"root"和密碼""。

  在mysql中有一個(gè)testdb數(shù)據(jù)庫(kù)及其中的表table1,表包括:name和pay兩個(gè)字段

  -----

  require("testdb.inc");//裝載dbInterface類(lèi)

  $test=newdbInterface;//用類(lèi)dbInterface生成一個(gè)對(duì)象

  $test->setParameter("localhost","root","");//設(shè)置數(shù)據(jù)庫(kù)參數(shù)

  $db=$test->dbConnect();//連接數(shù)據(jù)庫(kù)

  $Query="SELECTname,payFROMtable";//設(shè)置SQL語(yǔ)句

  $temp_result=$test->dbQuery("testdb",$Query,$db);//執(zhí)行數(shù)據(jù)主庫(kù)操作

  echo"

  ";

  $ls_num=$test->dbNumrows($temp_result);//取得查詢(xún)結(jié)果的記錄數(shù)

  echo$ls_num;

  echo"

  ";

  if(ls_num>0)

  {

  $ls_col=$test->dbNumcols($db);//取得表的列數(shù)

  echo$ls_col;

  echo"

  ";

  $cate_result=$test->dbFetchrow($temp_result,0);//取得記錄數(shù)的第一行

  $hcid=$cate_result[0];//取得name的值

  $hcate=$cate_result[1];//取得pay的值

  echo$hcid;

  echo"

  ";

  echo$hcate;

  }

  ?>

  這就是一個(gè)簡(jiǎn)單的應(yīng)用封裝的類(lèi)來(lái)完成對(duì)數(shù)據(jù)庫(kù)的操作。如果要操作其它數(shù)據(jù)庫(kù)只需要修改dbInterface類(lèi)中的dbID變量即可。

到此,相信大家對(duì)“PHP怎么實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI