php5.2 连接 SQL Server2008

时间:2022-04-25 14:09:53

如果你见到下面这一段输出的话,那么你有福了!!!!

Array ( [0] => Array (
 [0] => IMSSP 
 [SQLSTATE] => IMSSP 
 [1] => -49 
 [code] => -49 
 [2] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 
 [message] => This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86: http://go.microsoft.com/fwlink/?LinkId=163712 ) 
 [1] => Array ( 
 	[0] => IM002 [SQLSTATE] => IM002 [1] => 0 [code] => 0 [2] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 
 	[message] => [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序 ) )

之前从来没使用过SQLserver,以前一直使的是MySQL。这些都不是关键,关键是我用的是php编程语言,还是比较高的5.3(相对于sql server2008来说)。刚开始不会用,甚至数据库都不会连,用什么SQL语句都不知道,于是啊,一顿百度!!!百度出N种方法,但是,没有一种成功过,比如装驱动,改php.ini配置文件……我就不断的尝试了近一周,才总算把数据库给连上了。但是最终用的是php5.2版本,不知道为什么5.3总是不成功,以后以机会再尝试,现在要忙项目了!!

进入正题

我电脑是win7系统+SQL Server2008+php5.2+apache2.4配置。

1.首先安装数据库之后,用windows身份验证(默认登录方式,不需要密码)登录数据库。

2.进入之后,选择对象资源管理器,打开之后,有一个安全性的选项,打开之后,有登录名这个选项,打开之后,会看到很多的登录。

3.如果你现在想右键单击登录名来创建一个新的登录账号的话,那你就错了。

虽然那样的话,你能创建一个用户,但是并不能使用(试过很多次,都不行)。

好了,到这个时候,悬崖勒马吧!!!

4.回到桌面,右键点击“我的电脑”,-->选择“系统工具”,-->选择“本地用户和组”,-->选择“用户”,-->右键点击“用户”,-->选择“新用户”,现在你可以设置一个用户和密码了。设置完后,取消“用户下次登录时须更改密码”,然后保存,退出。假设我创建的是Admin2,密码为123456

接下来,返回第三步,现在你可以创建一个新的用户了。

1.登录名-->(单击右键)-->新建登录名-->确定

2.在常规一栏,点击搜索,在下方输入名称-->确定-->取消window身份验证,选择SQL Server身份验证-->取消登录密码过期和必须更改两个选项。然后选择下方的数据库和语言

3.服务器角色一栏我现在并不懂,所以我选的是bulkadmin,dbcreate,processadmin,public。你自己看着办

4.用户映射一栏,还有下面的安全对象和状态自己把握,根据需要选择。

5.点击确定,此时,你已经成功创建一个用户,完成总进度的90%。

接下来

打开phpstudy或者wampserver,我用的是phpstudyX64 2014版,打开php扩展及设置-->php扩展,看到其中的php_sqlsvr和php_pdo_sqlsvr,开启他们俩。

然后,打开php配置文件php.ini,删除extension=php_sqlsrv.dll和extension=php_pdo_sqlsrv.dll前面的分号(取消注释),然后保存,重启phpstudy即可。wampserver做法相似。

然后就可以连接数据库了

我使用的是sqlsvr_connect()连接,注意主机别写错,别以为全是localhost,当初我也是使用localhost,但就是不成功。

代码如下

<?php
$serverName = "HOMEMIC-26JSJJD\SQLEXPRESS";
$connectionInfo = array( "Database"=>"test", "UID"=>"admin2", "PWD"=>"123456","Charset"=>"utf8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn ) {
     echo "Connection established.<br />";
}else{
     echo "Connection could not be established.<br />";
     die( print_r( sqlsrv_errors(), true));
}
?>

  

 good luck!