欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】

程序员文章站 2022-11-15 23:27:31
本文实例讲述了php连接sql server的方法。分享给大家供大家参考,具体如下: 之前我们实现了用thinkphp5.1框架搭配的项目,实现了thinkphp5.1与...

本文实例讲述了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程序设计有所帮助。