下面内容小编就为大家带来一篇浅谈php连接sqlserver失败的原因,php连sqlserver是个大坑,php mssql使用数据库账号还是域账号。小编觉得挺不错的,现在就分享给大家,如果你在找SSMS,sql server management studio,hp用sqlserver数据库,也可以做个借鉴。一起跟随小编过来看看吧。
php连接sqlserver失败的原因,php连sqlserver是个大坑,php mssql使用数据库账号还是域账号
作者:小程序分析员 发布时间:2019-11-02
php通常跟mysql数据库一起使用,
但是在开发一些企业应用时,
由于企业原来的应用使用MSSQL,
必须要让php连接SQL Server,
这也是一个大坑,
下面讲讲使用php连接SQL Server失败的3种常见原因…
随便提一下,
在进行php连接mssql前,
你需要先把sqlsrv这个扩展装好,
这也是一大堆坑。
php连接SQL Server代码如下
//$serverName = "localhost";
$serverName = "127.0.0.1";
$connectionInfo = array( "Database"=>"qinziheng", "UID"=>"sa", "PWD"=>"123456");
$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));
}
一、 身份验证模式不对
SQL Server有两种身份验证模式, 1-1) windows身份验证模式, 即使用windows系统中的账号或域账号。 1-2) SQL Server 验证模式 有的也叫 SQL Server和Windows身份验证模式 使用SQL Server数据库创建的账号, 建议使用第2种SQL Server验证模式。二、 账号密码不对
在php连接msql数据库时, 涉及到windows系统账号,域账号和SQL Server数据库账号, 这么多账号, 对第一次连接的朋友来说, 不知道选择哪一种。 我们自己使用php开发mssql数据库时, 使用 1-2 中的SQL Server身份认证模式, 是使用SQL Server数据库账号连接成功的, 域账号连接失败。 windows系统账号 和 SQL Server数据库账号 的关系, 就像linux中, linux系统账号 和 mysql数据库账号 的关系, 你不能用 linux 中的 www 用户,登录连接mysql数据库。三、 未授权访问数据库
虽然你的账号密码是对的, 但是php连接mssql还是失败, 原因是你的账号没有访问数据库的权限, 这时需要在SSMS(sql server management studio)中, 对用户进行授权, 或者把用户添加到对应的安全组里。还有一种可能出错原因
上面3个原因是开发中经常遇到过的, 如果你的php跟SQL Server安装在不同一台主机上, 还有一种可能, 就是SQL Server未允许远程连接和访问。 猛击这里, 观看子恒老师《php采集》系列视频 了解实现过程和下载相关源代码声明:部分文章或图片未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知QQ:2334512685,我们会及时删除。
发布:秦子恒博客,欢迎转载分享,请保留出处。
php连接sqlserver失败的原因,php连sqlserver是个大坑,php mssql使用数据库账号还是域账号链接:https://www.qinziheng.com/details/8752/
php连接sqlserver失败的原因,php连sqlserver是个大坑,php mssql使用数据库账号还是域账号相关文章