时间:2021-07-01 10:21:17 帮助过:66人阅读
本文实例讲述了PHP连接SQL Server的方法。分享给大家供大家参考,具体如下:
之前我们实现了用thinkPHP5.1框架搭配的项目,实现了thinkPHP5.1与本机sql server 2008 R2的连接,并且把数据内容显示在页面上。
本机的使用工具:1、编译工具PhpStorm
2、WampServer 集成工具(Apache 2.4.33;PHP 7.0.29)
在连接过程中,有两种方法可以连接。
第一种(用到ThinkPHP框架的,配置微软自带的驱动):
先把tp5的项目放在wamp目录下的www里面
利用微软提供的PHP与SQL Server 驱动包
地址:https://www.microsoft.com/en-us/download/details.aspx?id=20098
下载:SQLSRV40.EXE(根据PHP对应的版本下载对应的驱动)
下载完成解压后选择相对应的PHP版本信息,如:本机的PHP是 7.0.29版本,线程安全,64位。
选择以下文件:
php_pdo_sqlsrv_7_ts_x64.dll
php_sqlsrv_7_ts_x64.dll
将其
放置
X:\wamp\bin\php\php7.0.29\ext
然后进入Apache修改php.in配置文件
X:\wamp\bin\apache\apache2.4.33\bin
在extension=php_gd2.dll和extension=php_gettext.dll之间添加
extension=php_gd2.dll
extension=php_sqlsrv_7_ts_x86.dll
extension=php_pdo_sqlsrv_7_ts_x86.dll
extension=php_gettext.dll
之后重启Apache服务器。
用PhpStorm打开tp5项目,在index模版下创建一个config文件再创建database.php配置数据库,可以参考app应用目录下的database.php格式,将其复制在index下config的database.php,一般修改数据库类型,数据库,用户名,密码。
接着在controller控制器下建立一个test.class.php文件,代码如下
<?php namespace app\index\controller; use think\Db; use think\Controller; class Test extends Controller { public function zz(){ $data= Db::query('SELECT top 100 * FROM V_XZ_SPZD_KC'); var_dump($data); } }
最后调用入口文件即可访问。
http://localhost:81/1111/tp5/public/index/test/zz
这种方法也可以用pdo_odbc方法连接sqlserver(配合thinkPHP框架)
第二种(不用到ThinkPHP框架):
*(上面的微软驱动数据库的方法,不用thinkPHP也是可以连接的)
用PDO_odbc来连接SQL Server 数据库:
进入Apache修改php.in配置文件
X:\wamp\bin\apache\apache2.4.33\bin
将extension=php_pdo_odbc.dll
前面的冒号去掉,开启这个服务,重启Apache服务器。
在www目录下创建一个test.php文件
代码如下:
<?php header("Content-type: text/html; charset=gbk");//使页面不会乱码 $hostname='192.168.1.215'; $dbname='ZD'; $username='Reader'; $password='TestReader'; //使用PDO_ODBC方式连接 $dbDB = new PDO("odbc:Driver={SQL Server};Server=$hostname;Database=$dbname", $username, $password); $sql = "SELECT top 100 * FROM V_DY_SPZD"; foreach ($dbDB->query($sql) as $row) { var_dump($row); //print_r($row); } exit;
最后调用入口文件即可访问。
http://localhost:81/test.php即可访问
这些方法要注意的是:需要了解thinkPHP5.1的DB类的使用语句。根据不同的项目要求可以组建不同的连接方法。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。