php 怎么连接sqlserver

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 怎么连接sqlserver相关的知识,希望对你有一定的参考价值。

    准备工作:SQLSRV20.EXE(php mssql扩展库)、php_mssql.dll文件。

    安装PHP mssql扩展库:安装SQLSRV20.EXE,选择解压路径为:D:\\wamp\\bin\\php\\php5.2.9-2\\ext。

    修改php.ini配置文件:打开php.ini配置文件,将其中

              ;extension=php_mssql.dll

             ;extension=php_pdo_mssql.dll

    前面的分号去掉,然后再”Dynamic Extensions”区域的后面添加php_sqlsrv的动态链接库文件:        extension=php_sqlsrv_52_ts_vc6.dll

            extension=php_pdo_sqlsrv_52_ts_vc6.dll

    注意事项:查看D:\\wamp\\bin\\php\\php5.2.9-2\\ext目录下有也Php_mssql.dll文件。如果没有,则下载该文件,复制到该目录下。

    测试环境配置是否成功:打开浏览器,在地址栏输入http://localhost/?phpinfo=1 ,如果在打开的网页中查询到如下页面内容,则配置成功,否则配置失败。

    重启WAMP所有服务。

    测试:编写一个简单的SQL SERVER2008数据库连接的测试程序。测试程序具体代码如下:

    <?php

    $server ="192.168.61.181";  //服务器IP地址,如果是本地,可以写成localhost

    $uid ="sa";  //用户名

    $pwd ="cwh"; //密码

    $database ="UserMan";  //数据库名称

     

    //进行数据库连接

    $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");

    mssql_select_db($database,$conn);

     

    //执行查询语句

    $query ="select * from users";

    $row =mssql_query($query);

     

    //打印输出查询结果

    while($list=mssql_fetch_array($row))

           print_r($list);

           echo "<br>";

    ?>

    查询结果演示:


参考技术A   为了能让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没有安装
  1.在web服务器上至少安装了mssql的客户端
  2.打开php.ini把;extension=php_mssql.dll 前面的分号去掉
  有必要话:需要制定extension_dir
  3.推荐使用 php<=4.0.9 <=5.0.3目前 我还没有连接成功过4.010和 5.0.3
  4.数据库的 连接分页可以 到 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;
参考技术B

php连接sqlserver的方法如下:

以PHP版本是php5.6.12,mssql数据库版本为2008版本为例来说明。

连接方法有两种:

    直接连接,代码如下:

    $servname="CAPTAINHERO567";
    $conninfo=array( "Database"=>"netdata", "UID"=>"lxz2005", "PWD"=>"831140");
    $conn=sqlsrv_connect($servname, $conninfo);
    $sql="select * from Pinfo";
    $db=sqlsrv_query($conn, $sql);
    while($row=sqlsrv_fetch_array($db))

    echo("<div>".iconv("GB2312","UTF-8",$row["Pname"])."</div>");

    使用PDO抽象数据层连接

    $hostname = "192.168.1.100"; 
    $dbname = "Northwind";
    $username = "sa"; 
    $pwd = "pwd100"; 
    $dsn="sqlsrv:Server=$hostname;database=$dbname";

    $conn = new PDO ($dsn,$username,$pwd);
    $conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
    echo "mssql database connnection sucessed!";

PHP网页怎么连接到MYSQL数据库

<?php $conn=@mysql_connect("localhost","root","")or die("连接错误"); mysql_select_db("liuyanban",$conn); mysql_query("set names 'GBK'"); ?>连接数据库的代码是这样没错吧、可是在网页上操作后在数据库上查询不到数据。求详解

参考技术A 你写的这个只是数据库连接的代码,你只是连接了数据库,可以对你的“”数据库进行"CURD"操作,$conn返回的是resource,mysql_select_db()和
mysql_query()返回的则是布尔类型,所以在浏览器预览的时候是没有任何内容的,有内容也只是一个TRUE

连接数据库的代码如下:
数据库操作类
class
mysql


private
$db_host;
//数据库主机

private
$db_user;
//数据库用户名

private
$db_pwd;
//数据库密码

private
$db_database;
//数据库名

private
$conn;
//数据库连接标识;

private
$sql;
//sql执行的语句

private
$result;
//query的资源标识符

private
$coding;
//数据库编码,gbk,utf8,gb2312

private
$show_error
=
true;
//本地调试使用,打印错误
public
function
__construct($db_host,
$db_user,
$db_pwd,
$db_database,
$coding)


$this->db_host
=
$db_host;

$this->db_user
=
$db_user;

$this->db_pwd
=
$db_pwd;

$this->db_database
=
$db_database;

$this->coding
=
$coding;

$this->connect();


private
function
connect()


$this->conn
=
@mysql_connect($this->db_host,
$this->db_user,
$this->db_pwd);

if
(!$this->conn)


//show_error开启时,打印错误

if
($this->show_error)


$this->show_error('错误提示:链接数据库失败!');





if
(!@mysql_select_db($this->db_database,
$this->conn))


//打开数据库失败

if
($this->show_error)


$this->show_error('错误提示:打开数据库失败!');





if
(!@mysql_query("set
names
$this->coding"))


//设置编码失败

if
($this->show_error)


$this->show_error('错误提示:设置编码失败!');






以上是关于php 怎么连接sqlserver的主要内容,如果未能解决你的问题,请参考以下文章

SqlServerSqlServer编程语言T-SQL的游标使用

SqlServerSqlServer编程语言T-SQL的简介及基本用法

怎么将php与数据库连接

echarts怎么连接数据库php

php怎么连接sql server 2012

使用php百度BAE怎么连接数据库啊