1. 确认环境与安装TP框架
在使用TP连接SQL Server之前,需要先确认环境和安装TP框架。TP(ThinkPHP)是一个基于PHP的开源框架,可以帮助开发者快速构建Web应用程序。下面介绍一下环境和TP框架的安装。
1.1 确认环境
首先,需要确认本地环境是否已经安装了PHP和MySQL。可以通过以下方式检查:
// 检查PHP版本
php -v
// 检查MySQL是否安装并运行
// Windows下使用以下命令
net start mysql
// Linux下使用以下命令
service mysql start
如果环境中没有安装MySQL,可以通过以下方式安装:
// Windows下可以使用WampServer或Xampp等集成环境,也可以独立安装MySQL
// Linux下可以使用以下命令安装MySQL
sudo apt-get update
sudo apt-get install mysql-server
1.2 安装TP框架
安装TP框架的方法有很多种,这里介绍一种简单的方法,使用Composer进行安装。
首先,需要安装Composer:
// Windows下可以直接下载安装包安装
// Linux下可以使用以下命令安装
sudo apt-get install composer
安装完成后,在命令行中切换到Web根目录,执行以下命令来安装TP框架:
composer create-project topthink/think tp 5.1.*-dev
执行完成后,会在当前目录下创建名为tp的文件夹,里面就包含了TP框架的所有文件。
2. 配置数据库连接信息
在安装好TP框架后,需要配置数据库连接信息,使TP框架能够连接到SQL Server数据库。
打开tp\config\database.php文件,找到以下代码:
// MySQL配置
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'test',
'username' => 'root',
'password' => 'root',
'hostport' => '',
'params' => [],
'charset' => 'utf8',
'prefix' => '',
'debug' => true,
// SQL Server配置
'sqlsrv' => [
'type' => 'sqlsrv',
'hostname' => '127.0.0.1',
'database' => 'test',
'username' => 'sa',
'password' => '123456',
'hostport' => '',
'params' => [],
'charset' => 'utf8',
'prefix' => '',
'debug' => true,
],
可以看到,这里已经提供了MySQL和SQL Server的配置,只需要根据实际情况修改对应的连接信息即可。下面是各个配置项的解释:
type: 数据库类型,目前支持mysql、pgsql、sqlite、oracle、sqlsrv五种类型。
hostname: 数据库主机名。
database: 数据库名。
username: 数据库用户名。
password: 数据库密码。
hostport: 数据库连接端口。
params: 数据库连接参数。
charset: 数据库编码。
prefix: 数据库表前缀。
debug: 调试模式,为true时开启调试模式。
3. 使用TP连接SQL Server
在完成配置后,就可以使用TP框架连接SQL Server数据库了。下面演示一下如何查询数据库中的数据。
在TP框架中,可以使用Db类来操作数据库。首先,需要引入Db类:
use think\Db;
接着,就可以使用Db类的静态方法来连接数据库和操作数据了。
3.1 连接数据库
使用Db类的connect方法连接SQL Server数据库,示例代码如下:
Db::connect('sqlsrv');
其中,connect方法的参数为数据库配置的名称,这里使用'sqlsrv'表示连接SQL Server数据库。如果连接成功,会返回一个PDO对象。
3.2 查询数据
使用Db类的query方法可以查询SQL Server数据库中的数据,示例代码如下:
$result = Db::query('SELECT * FROM users');
其中,query方法的参数为SQL查询语句,返回值为查询结果的数组。
3.3 插入数据
使用Db类的execute方法可以向SQL Server数据库中插入数据,示例代码如下:
$data = [
'username' => 'test',
'password' => md5('test'),
'email' => 'test@test.com',
];
$result = Db::execute('INSERT INTO users (username, password, email) VALUES (:username, :password, :email)', $data);
其中,execute方法的第一个参数为SQL查询语句,第二个参数为要绑定的参数数组,返回值为受影响的行数。
4. 小结
使用TP框架连接SQL Server数据库比较简单,只需要配置好数据库连接信息,就可以使用Db类进行操作了。
需要注意的是,SQL Server数据库可能需要在服务器上打开相应的端口,才能够在本地连接成功。