原文是百度文库上的,本人整理
资源下载
我的机器为:
xp sp3
sql server 2008 developer apache 2.2.2
php 5.3
从5.3开始,php就不再提供mssql.dll了,所以要php连接sql server
2008/2012必须要使用微软提供的sql server for php
2.0/3.0了。有必要提醒一下,php5.4必须要3.0和Microsoft SQL Server 2012 Native
Client。 php官方帮助
http://php.net/manual/zh/sqlsrv.requirements.php
Microsoft Drivers 3.0/2.0 for PHP for SQL
Server
http://www.microsoft.com/en-us/download/details.aspx?id=20098
同时Microsoft SQL Server 2012/2008 Native Client(如果你安装了sql server
默认应该就有了对应的版本) http://msdn.microsoft.com/zh-cn/aa937733
2005或者2008,版本为9,10
http://go.microsoft.com/fwlink/?LinkID=239647
x86版本为11
http://go.microsoft.com/fwlink/?LinkID=239648 x64
我的5.3是直接使用wamp集成环境,下载地址
http://www.wampserver.com/en/
实际步骤
1.至少一个登陆用户,并修改登录方式为混合登陆
2.启用sql server 2008 的TCP连接,可以修改默认端口
3.先安装这个wampserver2.2e-php5.3.13-httpd2.2.22-mysql5.5.24-32b.exe,但是先不要启动
再安装SQLSRV20.EXE将动态连接库安装到php5.3的ext目录下
如果服务器和数据库不是同一台机器,就安装sql server 2008 native
client
打开扩展 sqlsrv
(你也可以在php.ini修改)
;;;;;;;;;;;;;;;;;;;;;; ;
Dynamic Extensions
;;;;;;;;;;;;;;;;;;;;;;
extension=php_pdo_sqlsrv_53_ts_vc9.dll
extension=php_sqlsrv_53_ts_vc9.dll
使用phpinfo()看是否有pdo_sqlsrv和sqlsrv两个新增的模块。
基于PDO的测试:
header ( "content-type:text/html;charset:utf-8" );
date_default_timezone_get ( 'PRC' );//获取时区
$conf = parse_ini_file ( 'config.ini', true );
$serverName = $conf ['db_host'];
$database = $conf ['db_name'];
$uid = $conf ['db_user']; // 数据库用户名
$pwd = $conf ['db_pwd'];
try {
$conn = new PDO (
"sqlsrv:server=$serverName;Database=$database", $uid, $pwd );
$conn->setAttribute ( PDO::ATTR_ERRMODE,
PDO::ERRMODE_EXCEPTION );
} catch ( Exception $e ) {
die ( "Error connecting to SQL Server" . $e );
}
echo "Connected to SQL Server"."
";//所有字符串必须使用同一种单或双引号来定义开始和结
束。
$query = 'select * from Type';
$stmt = $conn->query ( $query );
while ( $row = $stmt->fetch ( PDO::FETCH_ASSOC
) ) {
print_r ( $row);
echo '
';//换行不能用
}
$stmt = null;
$conn = null;
如果你需要别人访问你的网站,请修改一下httpd.conf,把黑色字体补上
Options FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
Order Deny,Allow
allow from
all
Allow from 127.0.0.1
AllowOverride None
Options None
Order allow,deny
Allow from all
<!-- 正文结束 -->