登录 注册

php连接sql server 2012注意事项

嗨呀好久没写技术贴了。。。魔兽帐号解封以后,陷入了无限爆肝模式,每天都把所有能量任务做完,然后就没空研究技术了

咳咳,言归正传。事情起因是毕设的时候要求用php+sql server 2012做一个应用,我也很纳闷为啥好好的mysql不用非得用sql server。。。但是没办法,毕设的导师是大爷,所以只能硬着头把他锤了。但是网上的很多教程都是ctrl+v出来的,有非常多的漏洞,所以我就做完以后自己写一篇。。。

首先,你需要上微软的官网下载sql server(废话),以及一个php连接插件。根据网上的说法,php5.3以下自带一个php_mssql.dll,可以直接进行连接,当然我用的是5.4,不属于这个范畴,所以我就去下了一个。下载在微软官网就有:

https://www.microsoft.com/en-us/download/details.aspx?id=20098

点击红色的download按钮之后可以看到有SQLSRV30.EXE到40.EXE,还有linux版本的。当然我觉得会用说sql server的傻逼应用应该不可能在linux中,所以......

不管怎么说,你可以先随意下载一个,比如先下载30,然后运行后其实是一个自解压程序。解压后会出现php_sqlsrv_xxxxx.dll,注意xxxxx就是你的php版本号。不知道自己php版本的就用phpinfo()看,然后找一个匹配的用上。具体新方法:新建一个php,内容是

<?php
phpinfo();
?>

然后运行查看

注意红圈的位置,比如我的是5.4,TS,那我就用php_sqlsrv_54_ts.dll和php_pdo_sqlsrv_54_ts.dll

如果发现30.EXE里面没有你的,那就下31,在没有就下32.....

找到dll以后,复制到PHP目录的ext文件夹中,然后在php.ini里面加上

extension=php_pdo_sqlsrv_54_ts.dll
extension=php_sqlsrv_54_ts.dll

当然要根据你的dll来定。。。。

加完以后restart一下php,然后刷新phpinfo页,看看是否安装成功

可以查找一下有没有这一块

有的话就OK了

然后再去sql server配置,打开SQL SERVER MANAGEMENT STUDIO,登录以后可以新建一个账户,也可以直接使用sa。注意sa默认的权限是不对的,需要把权限全部配置一下。

然后再打开SQL SERVER配置管理器,确认一下这三个玩意有没有启用

没启用的话就启用一下。。

再点开这个

打开属性,选IP地址选项卡,然后拖到最下面查看端口

如果没有端口就自己设置一个。。。有的话就看一下就行

这样的话我们的准备工作就完成了,然后我们可以愉快的写代码了

<?php
try{
	$dbName="sqlsrv:Server=127.0.0.1,25094;Database=dbname";
	$dbUser="sa";
	$dbPassword="password";
	$db=new PDO($dbName, $dbUser, $dbPassword);
	$query="select p.paper_id,p.title,p.author_name,p.recommend_to_Ij,a.email,a.password from paper p LEFT JOIN author a ON p.submit_email=a.email WHERE p.author_name<>''";
	$stmt=$db->query($query);
	while ($row=$stmt->fetch(PDO::FETCH_ASSOC)){
		echo $de.$row['paper_id']."<br />";
	}
	$stmt=null;
}catch (PDOException $e){
	echo "<div style='color:red'>".$e->getMessage()."</div>";
}
?>

当然,具体怎么写还是视自己的情况。。。这只是个范例

2017
04 30
上一篇
Older
下一篇
Newer
评论
0
点击
186
发布
我是标题
我是文字
我是标题
我是文字
用户名
密码
用户名
密码
重复密码
努力的加载中.....