ADODB5连接MSSQL和MySQL

前段时间用PHP 连接MSSQL时本来用的PHP内置函数, 可是到了取字段的时候却出现了问题.

只有的ntext字段都会报错.最后没有办法只有舍弃PHP的内置函数,用ADODB这个数据库工具.

ADODB5操作数据库具休的步骤如下:

1.下载adodb类库 我下载的是adodb5,可以到网上搜索得到.

2.解压后把adodb5放在建立的工程下面(网上说可以放在任意的目录下,然后设置相应参数就可以了,这里我直接放在这个工程下面)

3.写代码,如下 :

   1) 连接MySQL:

  

  1. <?php   
  2. header("content-type:text/html;charset=gbk");   
  3.     include_once 'adodb5/adodb.inc.php';   
  4.     $conn = &ADONewConnection('mysql');   
  5.     $conn->Connect('192.168.17.8','sa','','db');   
  6.     $sql = "select * from tablename";   
  7.     $rs = $conn->Execute($sql);   
  8.     //print_r($rs);   
  9.     while (!$rs->EOF) {   
  10.          // 秀出所有字段,$FieldCount() 会传回字段总数   
  11.          for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++) {   
  12.               print $rs->fields[$i] . " ";   
  13.           }   
  14.              // 移至下一笔记录   
  15.          $rs->MoveNext();     
  16.          // 换列   
  17.          echo "<br> ";   
  18.       }   
  19. ?>  

<?php header("content-type:text/html;charset=gbk"); include_once 'adodb5/adodb.inc.php'; $conn = &ADONewConnection('mysql'); $conn->Connect('192.168.17.8','sa','','db'); $sql = "select * from tablename"; $rs = $conn->Execute($sql); //print_r($rs); while (!$rs->EOF) { // 秀出所有字段,$FieldCount() 会传回字段总数 for ($i=0, $max=$rs->FieldCount(); $i < $max; $i++) { print $rs->fields[$i] . " "; } // 移至下一笔记录 $rs->MoveNext(); // 换列 echo "<br> "; } ?>

 

    2).连接MSSQL

   

  1. <?php   
  2. include_once ('adodb5/adodb.inc.php');   
  3. class adodbMssql {   
  4.     private $dbdriver = 'ado_mssql';   
  5.     private $server = '192.168.17.85';   
  6.     private $user = 'sa';   
  7.     private $password = 'sa';   
  8.     private $DATABASE = 'timesheet';   
  9.     private $myDSN;   
  10.     //private $myDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER={192.168.17.85};DATABASE=timesheet;UID=sa;PWD=sa;";   
  11.     private $db;   
  12.        
  13.     function adodbMssql(){   
  14.         $this->myDSN = "PROVIDER=MSDASQL;DRIVER={SQL Server};SERVER={".$this->server."};DATABASE=".$this->DATABASE.";UID="  
  15.                  .$this->user.";PWD=".$this->password.";";   
  16.         $this->db = ADONewConnection ($this->dbdriver);   
  17.         $this->db->debug = true;   
  18.         $this->db->charPage = 65001;   
  19.         //   $db->Connect($server, $user, $password, $database);     
  20.         $this->db->Connect($this->myDSN);   
  21.      }   
  22. //执行存储过程   
  23.     function getCategoryList(){   
  24.         $rs = $this->db->Execute ( 'exec DnnForge_NewsArticles_GetCategoryList @ModuleID=413,@ParentID=-1' );   
  25.         return $rs;   
  26.      }   
  27.     //操作表   
  28.     function getNewsArticle($num){   
  29.         $rs = $this->db->Execute('select top '.$num.' * from DnnForge_NewsArticles_Article order by ArticleID desc');   
  30.         return $rs;   
  31.      }   
  32. ?>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值