PHP连接MSSQL方法汇总

为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将 ;extension=php_mssql.dll前面的;去掉

1.连接MSSQL

  $conn=mssql_connect("实例名或者服务器IP","用户名","密码");

  //测试连接
  if($conn)
  {
  echo "连接成功";
  }

2.选择要连接的数据库

 mssql_select_db("dbname");

3.执行查询

$rs = mssql_query("select top 1 id,username from tbname",$conn);
// 或者直接执行update,insert等语句,可以不用为返回结果赋值
mssql_query("update tbname set username='niunv' where id=1");

 4.获取记录集行数      

 echo mssql_num_rows($rs);

5.获取记录集

 if($row=mssql_fetch_array($rs))
  {
  $id = $row[0];//获取ID字段值
  $username = $row[1];//获取username字段值
  }

6.获取新增记录的ID
       将id字段设置为IDENTITY字段,执行insert语句以后,就会产生一个 @@IDENTITY 全局变量值,查询出来就是最后一条新增记录的ID了.

  mssql_query("insert into tbname(username) values ('nv')",$conn);
  $rs = mssql_query("select @@IDENTITY as id",$conn);
  if($row=mssql_fetch_array($rs))
  {
  echo $row[0];
  }

7.释放记录集

 mssql_free_result($rs);

 8.关闭连接

 mssql_close($conn);

注:用PHP操作MSSQL比在ASP连接MYSQL要简单,所以,当需要MSSQL与MYSQL并存时,用PHP连接MSSQL来操作MYSQL与MSSQL并存比较简单好用.如果是ASP连接MYSQL,需要安装一个MYSQL驱动,默认windows的ODBC没有安装,很遗憾...

  •   在web服务器上至少安装了mssql的客户端    
  •   打开php.ini把;extension=php_mssql.dll   前面的分号去掉  
  •       有必要话:需要制定extension_dir  
  •   推荐使用   php<=4.0.9     <=5.0.3目前   我还没有连接成功过4.010和   5.0.3  
  •   数据库的 连接分页可以到phpe.net上获取到相应的class   

下面是我修改的 一个class

 <?php
 /**
 *mssql 数据库连接类
 **/
 class SQL{ 

 var $server;
 var $userName;
 var $passWord;
 var $dataBase; 

 var $linkID = 0;
 var $queryResult;
 var $lastInsertID; 

 var $pageNum = 0;//分页用---共有几条数据
 var $ER; 

 /**
 *构造函数
 **/
 function  SQL($Server='',$UserName='',$PassWord='',$DataBase=''){
 $this->server = $Server;
 $this->userName = $UserName;
 $this->passWord = $PassWord;
 $this->dataBase = $DataBase;
 }
 /**
 *数据库连接
 **/
 function db_connect(){
 $this->linkID = mssql_pconnect($this->server,$this->userName,$this->passWord);
 if(!$this->linkID){
 $this->ER = "db_connect($this->server,$this->userName,$this->passWord) error";
 return 0;
 }
 if (!mssql_select_db($this->dataBase,$this->linkID)) {
 $this->ER = "mssql_select_db($this->dataBase,$this->lastInsertID) error";
 return 0;
 }
 return $this->linkID;
 } 

 /**public
 *  function: Check the database, if exist then select
 *  exist: return 1
 *  not exist: return 0
 */
 function selectDatabase(){
 if(mssql_select_db($this->dataBase))
 return 1;
 else
 return 0;
 } 

 /**
 *数据操作
 **/
 function  query($Str){
 if ($this->linkID == 0) {
 $this->ER = "数据库还没有连接!!";
 } 

    $this->queryResult = mssql_query($Str);
 //$this->queryResult = mssql_query($Str,$this->linkID);
 if (!$this->queryResult) { 

 $this->ER = "$Str.没有操作成功,query error!!";
 return 0;//****************对于php 4.3.9以上版本的错误用1
 }
 return $this->queryResult;
 } 

 /**
 *数据获取
 **/
 function fetch_array($result){
 if($result != "") $this->queryResult = $result;
 $rec =mssql_fetch_array($this->queryResult); 

 if(is_array($rec)){
 return $rec; 

 } 

 //$this->ER = "没有获取数据!";
 return 0;
 } 

 /**public
 *  function: Free the Query Result
 *  success return 1
 *  failed: return 0
 */
 function freeResult($result=""){
 if($result != "") $this->queryResult = $result;
 return mssql_free_result($this->queryResult);
 } 

 /**
 *获取影响的的行数
 *获取操作过的行数
 **/
 function num_rows($result=""){
 if ($result != "") {
 $this->queryResult = $result;
 $row = mssql_num_rows($this->queryResult);
 return $row;
 }
 } 

 /**
 *获取查询结果---多个
 **/
 function result_ar($str=''){
 if (empty($str)) {
 return 0;
 }
 $back = array();
 $this->queryResult = $this->query($str); 

 while ($row = $this->fetch_array($this->queryResult)) {
 $back[] = $row;
 }
 return $back;
 } 

 /**
 *数据库信息分页
 *$Result 数据库操作
 *str ==sql语句
 *page ==第几页
 *showNum ==显示几页
 */
 function page($Str,$Page=0,$ShowNum=5){
 $back = array();//返回数据
 $maxNum = 0;
 if ($Str == "") {
 $this->ER = "没有数据";
 return  0;
 }
 $this->queryResult = $this->query($Str);
 if($this->queryResult){
 if($Page==""){
 $nopa=0;
 }else{
 $nopa = ($Page-1)*$ShowNum;
 if ($nopa<0) {
 $nopa = 0;
 }
 }
 $maxNum=$this->num_rows($this->queryResult);
 $k=0;
 $i=0;
 $dd=$this->fetch_array($this->queryResult); 

 while($dd&&$nopa<=$maxNum&&$i<$ShowNum){
 if($nopa >= $maxNum)  $nopa = $maxNum;
 mssql_data_seek($this->queryResult,$nopa); 

 $row=$this->fetch_array($this->queryResult); 

 $nopa++;
 $i++;
 $back[] = $row; 

 if ($nopa >=$maxNum) {
 break;
 }
 }
 }
 $this->pageNum = $maxNum;
 return $back;
 } 

 /**
 *分页的html页码
 */
 function  page_html($DataNum=0,$Page=1,$ShowNum=3,$web,$Post=''){
 if ($DataNum == 0) {
 $back =  "没有要查询的数据";
 }else {
 if ($ShowNum<=0) {
 $ShowNum = 3;
 }
 if ($Page<=0) {
 $Page = 1;
 }
 if (empty($web)) {
 $web = "#";
 }
 $pageNum = ceil($DataNum/$ShowNum);
 if ($Page <= 1) {
 $top =  "首页<<";
 }else {
 $top = "<a href='".$web."?page=0&".$Post."' target='_self'>首页<< </a>";
 }
 if ($Page !==1) {
 $upPage =  "<a href='".$web."?page=".($Page-1)."&".$Post."' target='_self'>上一页</a>";
 }else {
 $upPage = "上一页";
 }
 if ($Page < $pageNum) {
 $downPage = "<a href='".$web."?page=".($Page+1)."&".$Post."' target='_self'>下一页</a>";
 }else {
 $downPage = "下一页";
 }
 if ($Page == $pageNum) {
 $foot = ">>尾页";
 }else {
 $foot = "<a href='".$web."?page=".$pageNum."&".$Post."' target='_self'> >>尾页</a>";
 } 

 $back = <<<EOT 

 共 $pageNum 页   
 第 $Page/$pageNum 页 $top   $upPage   $downPage    $foot
 EOT;
 }
 return $back;
 }
 }//end class
 ?>

以上就是PHP连接MSSQL方法的总结,希望对大家的学习有所帮助。

(0)

相关推荐

  • Linux下安装PHP MSSQL扩展教程

    PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了.今天刚好团队里的一个项目需要用PHP对SQL Server进行操作,遂帮忙配置好环境. 首先说明下,服务器的系统版本为SUSE Linux Enterprise Server 10 SP3. 1. 安装FreeTDS 地址:FreeTDS 复制代码 代码如下: wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stab

  • php安装dblib扩展,连接mssql的具体步骤

    1.先安装freetds 然后修改配置文件 不要装0.82版本,会报编译失败 Compile Failure With freetds0.82 进到freetds目录下编译安装 ./configure --prefix=/usr/local/freetds --enable-msdblib --enable-sybase-compat   --disable-threadsafe make make install 2.再装mssql 进到目录下编译安装 /usr/local/php/bin/p

  • PHP连接MSSQL方法汇总

    为了能让PHP连接MSSQL,系统需要安装MSSQL,PHP,且在PHP.ini中的配置中,将 ;extension=php_mssql.dll前面的;去掉 1.连接MSSQL $conn=mssql_connect("实例名或者服务器IP","用户名","密码"); //测试连接 if($conn) { echo "连接成功"; } 2.选择要连接的数据库 mssql_select_db("dbname"

  • php连接MSsql server的五种方法总结

    参考php手册,对php连接sql server系列做出个小结.主要有五种方式: 一.通过mssql_系列函数 mssql_系列函数主要针对php5.3以下的版本和sqlserver2000及以上版本使用. 在php.ini中将;extension=php_mssql.dll;extension=php_msql.dll;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉. <?php $server ="loca

  • 关于php连接mssql:pdo odbc sql server

    只有一个php_pdo_odbc.dll. so~最新最好的php连接mssql方法应该是这样: 复制代码 代码如下: <?php $cnx = new PDO("odbc:Driver={SQL Server};Server=127.0.0.1;Database=test;",'sa','asd123'); var_dump($cnx); $a = $cnx->query("SELECT * FROM [user]"); var_dump($a); f

  • PHP基于mssql扩展远程连接MSSQL的简单实现方法

    本文实例讲述了PHP基于mssql扩展远程连接MSSQL的简单实现方法.分享给大家供大家参考,具体如下: 这里给出的是一个简单的示例,没有做安全考虑,自行处理吧: <?php // 连接数据库 $conn = mssql_connect('hostip:1433','user','pass') or die("SQL SERVER 数据库连接失败!"); // 选择数据库 mssql_select_db('UserInfo', $conn); // sql语句 $sql = &q

  • php5.3不能连接mssql数据库的解决方法

    本文实例讲述了php5.3不能连接mssql数据库的解决方法.分享给大家供大家参考.具体分析如下: 自从php5.3之后系统就不支持mssql_connect这个函数连接了,以前我也讲可以使用com接口来实现,现在我再介绍解决php5.3不能连接mssql数据库另一方法. windows系统下,PHP5.3以上的版本已经不支持mssql扩展. 首先http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx 点击 get it 下载SQLSRV2

  • PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法

    本文实例讲述了PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法.分享给大家供大家参考.具体分析如下: PHP 连接 MSSQL 的新手经常遇到这个问题:数据库里面的 nvarchar 字段中数据一切正常,但是用 PHP 查询出来却发现长度只有 255,我们都知道,在 MySQL 里面 varchar 的长度只有 255,但是 MSSQL 却不是,不会是 PHP 将 nvarchar 按照 MySQL 的 varchar 处理了吧. 本文给出了解决方法: 复制代码 代码如下:

  • python配置mssql连接的方法

    因为我使用的是mmsql数据库,因为遇到一点坑,所以发布出来. 准备工作: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 下载对应的插件: 我这里安装的是mssql的,其他也一样哈. 然后安装代码是pip install 下载的插件地址,下面是成功的结果: 您可能出现,pip不是内部命令,那么需要配置pip的环境,有些人是手动配置的,所以难免忘记配置pip; 是在python安装目录的scripts目录下,将其加入到配置环境中即可; 然后可能出现这样的情

  • php连接mssql数据库的几种方法

    首先,php.ini文件中;extension=php_pdo_mssql.dll ;extension=php_pdo_odbc.dll 前面的分号去掉,对应的使哪种方式连接mssql.注意要重启服务使其生效. 一.建立连接 1.odbc 首先,在php程序所在的服务器设置odbc.这里32位和64位操作系统有区别.32位的从控制面板中管理工具中的数据源(odbc)直接建立就可以了,64位的要运行C:\Windows\SysWOW64\odbcad32.exe 从这里面设置.注意:上面只的是数

  • php基于PDO连接MSSQL示例DEMO

    本文实例讲述了php基于PDO连接MSSQL的方法.分享给大家供大家参考,具体如下: <?php try { $hostname='117.79.93.222'; $port=1433;//端口 $dbname="csdn";//库名 $username="csdn_admin";//用户 $pw="123456";//密码 $dbh= new PDO("dblib:host=$hostname:$port;dbname=$dbn

  • C#使用DropDownList绑定添加新数据的方法汇总

    DropDownList控件又称下拉列表框控件, 控件 列表 中的多行数 据 以隐含 的形式表 示 出 来,当用户需要选择所需列表项时,通过点击 "下三角 "图形 展示 ,用户每次 只能选用一个 数据项.DropDownList控件实际上是列表项 的 容器 ,下拉列表框 用 Items集合表示各项 的内 容.如果在 ASP.NET页面中逐个 的手 动填写 DropDownList控件的列表选项,当列表项很多 的时候会 比较繁琐 ,而且修改 比较麻烦 . DropDownList控件动态

随机推荐