本例主要是说明php5.4版本以及sql server 2008 R2版本之间的数据库连接
首先说明一下,sql server 2008 支持sql server 2000,sql server2005,sql server2008等的数据库备份,而2012开始只支持2005以后的版本导入,2000的版本已经被2012不兼容了
题外话结束。
这次研究sql server实属迫不得已,除了大学期间用过sql server外,其他时间都是用mysql。因此操作起来很痛苦,另外麻烦的就是php5.4版本刚好没有mssql的扩展,所以一切要从头开始
首先是下载sql server 2008 R2 express版本进行安装,直接选最大的那个文件包一般是1G左右,带有管理工具的。微软官方有很详细的说明,也可以根据您的需求自己选
第二步,安装完毕后下载驱动,sql server for php的驱动有20和30两个版本,我是win8系统所以选择30版本 SQLSRV30.EXE 这是个解压包,直接解压到你选定的目录。
第三步,解压后由于php5.4 所以把php_sqlsrv_54_ts.dll,php_pdo_sqlsrv_54_ts.dll(线程安全的和非安全的需要您判断)两个文件放到php安装目录的/ext/下,然后修改php.ini中的文件,加入
extension=php_sqlsrv_54_ts.dll
extension=php_pdo_sqlsrv_54_ts.dll
修改
mssql.secure_connection = Off 为 mssql.secure_connection = On
然后重启你的apache
第四步,下载Microsoft SQL Server 2012 Native Client,然后进行安装,基本步骤就完成了。
然后看下测试代码
$serverName = "localhost";//serverName\instanceName
$connectionInfo = array("Database"=>"dbname","UID"=>"sa","PWD"=>"asdf1234");
$conn = sqlsrv_connect($serverName,$connectionInfo);
if($conn){
echo "success:established!";
}
else{
echo "error:unestablished!";
var_dump(sqlsrv_errors());
}
/*//同步类目表
$stmt = sqlsrv_query($conn,"select * from tablename");
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['filedname'];
}
基本上按照以上操作这个代码就能测试通过
问题在于:我用thinkphp模式下不懂得配置sqlsrv,现在没时间研究只能先跳过了,有好心人可以联系我给我一个案例不,搜索网上资料都没找到正确的
版权属于:
转载时必须以链接形式注明原始出处及本声明。