PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库

PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库,第1张

概述课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较喜欢这种叫法,有韵味、、、最近有用户在使用PHPWAMP的时候,向我咨询一个问题,就是关于PHP如何

课前小知识普及:MSsql和sql Server是同1个软件,叫法不同而已,MSsql全称是Microsoft sql Server,MSsql是简写,有些人则喜欢直接叫sql Server,我就比较喜欢这类叫法,有韵味、、、


最近有用户在使用PHPWAMP的时候,向我咨询1个问题,就是关于PHP如何连接MSsql数据库


平时我们搭建网站通常是PHP+MysqL数据库

不过在项目中,我们有时候必须要用到PHP+MSsql数据库,那应当怎样办呢?

本文案例采取的PHP集成环境是我最新发布的版本PHPWAMP8.1.8.8,不管你用的是其他集成环境,还是自己安装, *** 作方法都是1样的,不过我还是建议大家使用我的这款PHPWAMP,我所集成的组件全是完全版,完善无错省心省力,放在U盘随时使用(支持自定义PHP版本,多版本同时运行)


其实早前我就有打算将MSsql全部数据库也绿化到PHP集成环境里面,不用安装直接使用。

不过MSsql数据库面对企业是收费的,所以我不敢将其绿化,万1追究起来,我就懵逼了。

你们可以自己先安装好数据库后,依照我的方式去连接就能够了,后面我会详细演示全部流程。


先来演示“本地测试时”经常使用的搭建方式,然后再演示网站在服务器上正式运营的搭建方式。

其实没啥区分,主要是演示常规用法和站点管理里面的用法,让各位更加熟练的使用罢了。


先来给大家演示PHP5.3连接MSsql数据库的具体做法吧(数据库是sql Server 2008)

在PHPWAMP中,点这里默许启动的是PHP5.3,点击启动(其他PHP版本请自行切换)



启动后,点击此处阅读网站




在此页面的最底部,点击“点击此处查看PHPinfo文件”,查看更加详细的环境内容。





来到PHPinfo文件页面,看到这里的Thread Safety显示的是enabled,

Thread Safety是线程安全的意思,而enabled是启动的意思,说明目前是线程安全。


如果Thread Safety显示的不是enabled,而是Disabled,那末就是非线程安全。

看图片很明显,目前是线程安全,而且是VC6



PHP5.3以上的版本,连接MSsql数据库不再是mssql.dll扩大,取而代之的是sqlsrv.dll扩大。

由于要选择对应的驱动程序,所以要判断是非线程安全还是线程安全,微软公司提供了相干驱动,

用于PHP支持MSsql数据库。那末我下面有这么多版本的驱动,应当选哪一个呢

(Lccee提示你:这些驱动的下载地址:http://download.csdn.net/detail/lccee/9732724)




刚才我们开启的PHP版本是5.3,然后又是线程安全,而且PHPinfo页面显示是VC6

所以要选择的是PHP_pdo_sqlsrv_53_ts_vc6.dll和PHP_sqlsrv_53_ts_vc6.dll这两个。


所以很多用户说连接失败,就是由于你选择的驱动版本有问题,要对号入坐才行。




打开PHPWAMP版本文件所在目录。





来到对应的ext目录,把PHP_pdo_sqlsrv_53_ts_vc6.dll和PHP_sqlsrv_53_ts_vc6.dll复制进去

这两个驱动文件1个是以pdo的方式连接,另外一个则是以sqlsrv_connect的方式连接。



复制进去后以下图所示。





好,接着下1步,打开对应版本的PHP配置文件





在打开的PHP.ini文件中

extension=PHP_sqlsrv_53_ts_vc6.dll

extension=PHP_pdo_sqlsrv_53_ts_vc6.dll

加入上面这两行,然后搜索“mssql.secure_connection”这1段内容,

将“mssql.secure_connection = Off”改成“mssql.secure_connection = On”




修改完成后,双击此处重启当前apache服务器便可。




重启后,在PHPinfo页面如果能搜到sqlsrv,说明已成功配置好了,如图所示。





接下来我们来连接1下数据库,看是不是正常!

在测试数据库之前,我们先来查看1下数据库端口号是多少,右键“新建查询”




输入exec sys.sp_readerrorlog 0,1,'Listening' 然后右键点击履行。



发现端口号是默许的1433,这样我们在连接数据库的时候就不需要指定端口号了,

由于是默许端口,所有我们可以在PHP页面可以这么写。代码随意打打,证明能连接上就好了。

<?PHP try {   $dbname = "sqlsrv:Server=127.0.0.1;Database=lccee";   //这里是服务器IP地址和数据库名,端口不是默许的话记得改1下   $dbUser = "sa";    //用户名   $dbPassword = "111111";    //登陆密码   $db = new PDO($dbname,$dbUser,$dbPassword);          if ($db)     {            echo "恭喜你!数据库连接成功了!!<br />";      }     }        catch (Exception $e){ echo "数据库连接失败!!";   }?>



如果不是默许端口,假定是1688端口,那末上面这1行就应当改成。

$dbname = "sqlsrv:Server=127.0.0.1,1688;Database=lccee";

固然,就算是默许端口,你也能够加上默许端口号,也是没错的,以下代码所示。

易错点:这里的ip+端口,不是冒号!而是逗号,如果写成“127.0.0.1:1433”是毛病的!



好,我们打开此页面看看效果,运行代码提示连接成功,说明没问题。




假定我把连接里面的数据库密码改1下,再看,就提示失败了,以下图。






前面我们不是在PHP配置里加入了两个DLL吗,分别是

PHP_pdo_sqlsrv_53_ts_vc6.dll和PHP_sqlsrv_53_ts_vc6.dll

这两个驱动文件1个是以pdo的方式连接,另外一个则是以sqlsrv_connect的方式连接。



而上面我们演示的连接方式是pdo,现在我们来用sqlsrv_connect的方式连接。

那末代码可以这么写,创建1个sqlsrv_connect.PHP文件,里面写上以下代码

<?PHP$servername = "NEPTUNE-PC"; //servername\instancename$connectionInfo = array( "Database"=>"lccee", "UID"=>"sa", "PWD"=>"111111");$conn = sqlsrv_connect( $servername, $connectionInfo); if( $conn ) {     echo "连接成功<br />";}else{     echo "连接失败<br />";     }?>


然后再测试看,也是连接成功了!




假设我把正确的密码111111改成了毛病的密码888888,

(具体的数据库密码,看你自己的MSsql数据库,我的密码是111111)



那末就显示连接毛病了,把正确密码改成毛病以后,就显示连接失败了。





下面我们再改1下代码,读取数据库表里的内容,这是我创建的数据库,

数据库名为Lccee,在这个数据库里面有个表叫PHPwamp。





然后我随意添加几行代码,用来读出数据表里面的内容。



然后保存,这时候候我们再来看看,运行后就读出这个数据表里的内容了。






最后我们再演示1下,在服务器上用站点管理创建的站点如何连接MSsql数据库。


开始我们的教程,第1步先把主界面修改成80端口,以下图所示。






修改端口后切换到任意处在apache2.4之下的PHP版本,PHP5.5、PHP5.6、PHP7都可以。





然后打开apache2.4站点管理,以下图所示。




建立站点,如图所示(Apache2.4站点管理可建立无数站点,每一个站点可指定不同的PHP版本,也能够自定义设置PHP版本,还可以多个不同PHP版本同时运行,右键功能丰富)如图下所示,我选的是PHP5.4这个版本,填写终了后点击“添加站点”




添加后左边站点列表里就会出现了添加的站点,右键站点选择“生成此站hosts内容”




然后点击此处的按钮去运行站点,以下图红色箭头所示。



右键站点,选择“域名阅读该网站”,就能够用域名阅读(在服务器上再进行域名解析就能够了)

如果不懂如何解析,可以看看我这篇文章:http://blog.csdn.net/lccee/article/details/53945196





点击“域名阅读该网站”后,我们就能够看到这个页面,以下图所示。





鼠标拉动转动条往下看,在这里点击查看更加详细的PHPinfo()信息。





可以看到在PHPinfo文件页面,这里的Thread Safety显示的是enabled,

Thread Safety是线程安全,而enabled是启动,那末说明目前是线程安全。




目前的PHP版本是PHP5.4,所以我们应当选择的两个DLL文件是

PHP_pdo_sqlsrv_54_ts.dll 和 PHP_sqlsrv_54_nts.dll,以下图





和前面1样把这两个DLL复制到对应PHP版本的ext文件夹里面。




这时候候我们回到站点管理界面,右键站点打开与之对应的PHP.ini配文件。




在打开的PHP.ini文件中

extension=PHP_sqlsrv_54_ts.dll

extension=PHP_pdo_sqlsrv_54_ts.dll

加入上面这两行,然后搜索mssql.secure_connection”这1段。

把“mssql.secure_connection = Off”改成“mssql.secure_connection = On”





修改后保存,再次重启Apache服务,创建1个sqlsrv_connect.PHP文件,里面写上以下代码

<?PHP$servername = "NEPTUNE-PC"; //servername\instancename$connectionInfo = array( "Database"=>"lccee", $query);while($row = sqlsrv_fetch_array($result)){        print_r($row);       echo "<br>";}?>



然后阅读sqlsrv_connect.PHP文件,就可以读出数据库里面的信息了,以下图


其他PHP版本也是1样的道理,依样画葫芦便可,如有疑问可以联系我。


以后如果时间允许,我也会斟酌制作1个linux下的PHPWAMP,应网友的要求,Mac系统的也在斟酌,不过对Mac系统不是特别了解,需要1定时间研究研究,最近工作也挺忙的,1个人时间有限,估计进度会很慢。

后期我会在PHPWAMP版本里配置好各版本PHP与MSsql的连接,到时你们就不用自己配置了



PHP各版本支持MSsql数据库的驱动下载地址:http://download.csdn.net/detail/lccee/9732724

相干文章推荐:

自定义设置任意PHP版本教程:http://blog.csdn.net/lccee/article/details/53945468

PHPWAMP在云服务器上的利用:http://blog.csdn.net/lccee/article/details/53945196

网页加密与网页乱码最详细的分析:http://edu.csdn.net/course/detail/2613

虚拟主机搭建网站的全程视频案例:http://edu.csdn.net/course/detail/1846

强迫修改所有MysqL数据库密码:http://blog.csdn.net/lccee/article/details/53955094

强迫去除域名端口号(独家功能):http://blog.csdn.net/lccee/article/details/53992304



总结

以上是内存溢出为你收集整理的PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库全部内容,希望文章能够帮你解决PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1015785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存