欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

自己亲自照着做的 windows php 5.4 sql server (mssql)之如何连接sqlserver mssql 数据库 有大用 有大大用 有大大大用 有大大大大用

如果说用php去开发一个网站的话,大家都会想到使用数据库mysql,跟php搭配,网上很多源码都是采用了php+mysql的方式配合开发。最近刚好有一个需求,就是使用sqlserver当数据库去开发一个网站,这里就简单介绍一个如何去连接sqlserver数据库,以及一些简单的数据库操作方法,看完这篇之后,你就会知道,其实无论是哪种数据库去开发,其实原理都很相似,只要掌握一种,其他就可以快速上手。但是这里不涉及到部署的问题。部署的话就要另外的考虑

这里以wampserver +sqlserver为例子

1、sqlserver
也称作是MSSQL,是由Microsoft开发和推广的关系数据库管理系(DBMS)。操作的软件可以使用“sqlserver”

2、php如何连接sqlserver?首先明确wampserver 是不支持连接sqlserver,所以要自己去下载连接sqlserver的驱动。还有php版本是5.3以上的,不包括5.3
1)下载 Microsoft SQL Server PHP 驱动程序。
借助 Microsoft SQL Server PHP 驱动程序,PHP 开发人员可以访问 SQL Server 数据库。 此类驱动程序依赖于 Microsoft SQL Server ODBC 驱动程序来处理与 SQL Server 的低级别通信。
下载的网址:https://msdn.microsoft.com/zh-cn/library/mt683517.aspx
版本的选择是:
https://learn.microsoft.com/zh-cn/sql/connect/php/microsoft-php-driver-for-sql-server?view=sql-server-ver16&redirectedfrom=MSDN            

https://learn.microsoft.com/zh-cn/sql/connect/php/download-drivers-php-sql-server?view=sql-server-ver16  新版本

https://learn.microsoft.com/zh-cn/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver16#previous-releases  旧版本

https://learn.microsoft.com/zh-cn/sql/connect/php/release-notes-php-sql-driver?view=sql-server-ver16#previous-releases  

https://github.com/Microsoft/msphpsql/releases/tag/v5.10.1  

                

image.png
2)下载的文件是个exe文件,但实际上不需要安装,他会给你释放一些dll文件,打开exe文件:
image.png
【提醒】如果嫌麻烦的话,也可以直接下载别人压缩的解压包,原理都是一样的,晚点我会把驱动包上传上去
3)选择与你php版本适应的驱动文件名为:看截图            

php_pdo_sqlsrv_54_ts.dll
php_sqlsrv_54_ts.dll
            
  • 1

  • 2

           

image.png            

【我的php版本是5.4,所以选择了54】,把塔是复制到wampserver安装目录里面/ext文件夹下面。截图
image.png            

 

4)开启扩展:
配置php.ini文件:
此步骤注意:需要同时配置php和apache两个目录下的php.ini文件,路径为
D:\wamp\bin\php\php5.5.12和D:\wamp\bin\apache\apache2.4.9\bin:
搜索extensions直到找到Windows Extensions,加上两句代码:。。你可以打开php.ini,然后搜索
           

extension=php_pdo_sqlsrv_55_ts.dll
extension=php_sqlsrv_55_ts.dll
            
  • 1

  • 2

           

image.png
记得在D:\wamp\bin\apache\apache2.4.9\bin也要配置该驱动文件。搜索extension找到很多有extension加上就可以了
5)重启apache,就可以了            

3、上测试代码            

<?php  
$serverName = "localhost"; //数据库服务器地址
$uid = "sa";     //数据库用户名
$pwd = "123456"; //数据库密码
$connectionInfo = array("UID"=>$uid, "PWD"=>$pwd, "Database"=>"test");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if( $conn == false)
{
    echo "连接失败!";
    var_dump(sqlsrv_errors());
    exit;
}else{
    echo "链接成功";
}
            
  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

  • 11

  • 12

  • 13

  • 14

           

image.png
4、第一次连接sqlserver可能会提示odbc有问题            

(似乎是 提示 要安装 Microsoft SQL Server 2012 Native Client ODBC driver  这个            

我们 直接到 必应网站上 搜 " 下载 Microsoft SQL Server 2012 Native Client ODBC driver",            

下载安装 64位版本的 sqlncli.msi,,在我的百度网盘上 有 这两个文件  sqlncli_64.msi   sqlncli_32.msi            

)            



网上的解决方法有很多,百度一下就可以。最简单的方法可以去下载一个sqlserver odbc驱动源,安装即可。这里没办法演示,只能遇到自己解决,我把sqlserver odbc驱动源的软件上传上来

image.png
image.png            

5、这里可以介绍一下,有些人百度如何连接sql server的时候,有些人建议加载mssql驱动

1)php连接mssql设置(php5.3以前版本)


2)简单讲一下如何连接!
           

(1)、打开php.ini,将
;extension=php_mssql.dll前面的分号(;)去掉,然后重启 Apache。如果不行的话,进行第2步。
(2)检查一下你的php安装目录下的ext下面有没有php_mssql.dll存在,如果没有,从网上百度搜索一份下载
如果ext目录下已经有了php_mssql.dll,那么你需要打开php.ini,找到
extension_dir = “./ext”
这一句(或者类似的,不一定是”./ext”是你安装环境php/里面的ext,查找”extension_dir”即可)然后再次重启 Apache。如果还是不行的话,可能就需要第3步了。
(3)把 php 目录下的 ntwdblib.dll 和 php_mssql.dll 复制到 system32的系统目录中去,然后重起Apache。
(4)然后就可以连接MSSQL,并进行一些操作了。连接例子如下:
               

接下来一篇讲一下如何去操作数据库!!看下一篇吧

文章知识点与官方知识档案匹配,可进一步学习相关知识

MySQL入门技能树SQL高级技巧CTE和递归查询68293 人正在系统学习中                


               


               

来自  https://blog.csdn.net/xiaozhegaa/article/details/53741623                


               


               


               

php连接mssql的五种方法,及示例代码

SpencerGallacher                    112阅读1分钟                    

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 13 天,点击查看活动详情                    

一、通过mssql系列函数 二、通过sqlsrv系列函数 三、通过odbc方式连接sqlserver系列。 四、通过PDO方式连接sqlserver。 五、通过COM方式连接。

参考了下php官方手册总结了五种PHP连接MSsql server的方法,mssql系列函数,sqlsrv系列函数,odbc方式连接sqlserver,PDO方式连接sqlserver,COM方式连接

参考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复制代码<?php
 $server ="localhost"; //服务器IP地址,如果是本地,可以写成localhost
 $uid ="sa"; //用户名
 $pwd ="123456"; //密码
 $database ="mssqlname"; //数据库名称
  
////进行数据库连接
 $conn =mssql_connect($server,$uid,$pwd) or die ("connect failed");
 mssql_select_db($database,$conn);
  
////执行查询语句
 $query ="select * from A_PHP";
 $row =mssql_query($query);
  
////打印输出查询结果
 while($list=mssql_fetch_array($row))
 {
    print_r($list);
    echo "<br>";
 }
?>
                   

二、通过sqlsrv_系列函数                    

sqlsrv_系列函数主要针对php5.3以上的版本和sql server 2005以上版本使用。

需要下载安装Microsoft Drivers for PHP for SQL Server驱动,地址:msdn.microsoft.com/library/dn8…。下载后解压放到php对应的ext目录下。然后打开php.ini文件,在extension 后面添加一下配置

extension=php_pdo_sqlsrv_53_ts.dll extension=php_sqlsrv_53_ts.dll

重启apache,查看phpinfo(),确保apache已经支持sqlsrv。如下图所示:

372674-20200104094630765-470085616                    

并且安装sqlncli.msi,这个文件是协助winwww.lnmpweb.cn/archives/ta…)访问sql server所在的数据库服务器的

php复制代码<?php
 
 $serverName = "localhost";
 $connectionInfo = array( "Database"=>"mssqlname", "UID"=>"sa", "PWD"=>"123456");
 $conn = sqlsrv_connect( $serverName, $connectionInfo );
 if( $conn === false ) {
   die( print_r( sqlsrv_errors(), true));
 }
 
 $sql = "SELECT * FROM dbo.A_PHP";
 $stmt = sqlsrv_query( $conn, $sql );
 if( $stmt === false) {
   die( print_r( sqlsrv_errors(), true) );
 }
 
 
 while($row = sqlsrv_fetch_array($stmt))
 {echo $row[0]."-----".$row[1]."<br/>";}
?>
                   

三、通过odbc方式连接sqlserver系列

需要在php.ini中开启php_pdo_odbc.dll扩展。

372674-20200104094702314-1381215537                    

php复制代码<?php
$con = odbc_connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=mssqlname,'sa','123456');
$query = "SELECT * FROM dbo.A_PHP";
$result = odbc_do($con,$query);
while(odbc_fetch_row($result))
{
  $list = odbc_result($result, "id");   print_r($list);echo '<br/>';
}
?>

                   

四、通过PDO方式连接sqlserver

在php.ini中开启php_pdo_mssql.dll扩展。在phpinfo中可查看

php复制代码<?php
 $conn = new PDO("sqlsr","sa","123456");
 $sql = "select count(*) count from CKXS2";
 $res = $conn->query($sql);
 while ($row = $res->fetch()){
 print_r($row);
 }
 
?>
                   

五、通过COM方式连接。                    

php复制代码<?php
 $conn = new Com("ADODB.Connection"); //实例化一个Connection对象 
 $connstr = "provider=sqloledb;datasource=.;uid=sa;pwd=123456;database=mssqlname;"; 
 $conn->Open($connstr); 
 $rs = new Com("ADODB.Recordset"); //实例化一个Recordcount对象 
 
 $rs->Open('select * from CKXS2 ', $conn, 1, 1); 
 $count = $rs->RecordCount; 
 echo "共有{$count}条纪录<br />"; 
               

标签:掘金·日新计划                

来自  https://juejin.cn/post/7202984256833486906                


               

普通分类: