首先需配置PHP环境以支持MSSQL,安装Microsoft ODBC Driver并启用sqlsrv和pdo_sqlsrv扩展,随后使用sqlsrv_connect()连接数据库,再通过接收HTTP请求执行查询或增删改操作,返回JSON格式数据,构建安全的RESTful API接口。

使用PHP连接MSSQL数据库并构建API接口是许多企业级应用开发中的常见需求,尤其是在与Windows服务器、SQL Server数据集成的场景中。通过PHP的扩展支持,可以直接访问MSSQL数据库,并将数据以JSON格式通过API返回给前端或其他系统。
配置PHP环境支持MSSQL
要让PHP能够连接MSSQL,必须确保安装了正确的驱动扩展。微软为PHP提供了官方的SQL Server驱动程序,基于ODBC和Microsoft ODBC Driver for SQL Server。
步骤如下:
- 确认PHP版本(建议使用PHP 7.4或以上)
- 下载并安装 Microsoft ODBC Driver for SQL Server
- 在php.ini中启用sqlsrv和pdo_sqlsrv扩展:
extension=sqlsrv
extension=pdo_sqlsrv
- 重启Web服务器(如Apache或Nginx)使配置生效
连接MSSQL数据库
使用sqlsrv_connect()函数建立与SQL Server的连接。需要准备服务器名、数据库名以及认证信息。
立即学习“PHP免费学习笔记(深入)”;
$serverName = "localhost\SQLEXPRESS"; // 或 IP实例名
$connectionOptions = [
"Database" => "YourDB",
"UID" => "your_username",
"PWD" => "your_password"
];
$conn = sqlsrv_connect($serverName, $connectionOptions);
if (!$conn) {
die(json_encode(["success" => false, "message" => "Connection failed.", "error" => sqlsrv_errors()]));
}
构建RESTful API接口
通过接收HTTP请求参数,执行查询并将结果以JSON格式输出,即可实现基本API功能。
示例:获取用户列表
// 设置响应头为JSON
header("Content-Type: application/json");
// 检查请求方法
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
http_response_code(405);
echo json_encode(["success" => false, "message" => "Method not allowed"]);
exit();
}
$sql = "SELECT id, name, email FROM users";
$stmt = sqlsrv_query($conn, $sql);
$users = [];
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$users[] = $row;
}
if (empty($users)) {
echo json_encode(["success" => true, "data" => [], "message" => "No records found"]);
} else {
echo json_encode(["success" => true, "data" => $users]);
}
处理增删改操作(POST/PUT/DELETE)
对于写操作,建议使用参数化查询防止SQL注入。
示例:添加用户(POST)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$input = json_decode(file_get_contents('php://input'), true);
$name = $input['name'] ?? null;
$email = $input['email'] ?? null;
if (!$name || !$email) {
http_response_code(400);
echo json_encode(["success" => false, "message" => "Missing required fields"]);
exit();
}
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$params = [$name, $email];
$stmt = sqlsrv_query($conn, $sql, $params);
if ($stmt) {
echo json_encode(["success" => true, "message" => "User added successfully"]);
} else {
echo json_encode(["success" => false, "message" => "Insert failed", "error" => sqlsrv_errors()]);
}
}
基本上就这些。只要环境配置正确,PHP连接MSSQL并不复杂,配合标准的API设计模式,就能快速搭建稳定的数据接口服务。注意做好错误处理、权限控制和输入验证,保障接口安全可靠。
以上就是利用php连接mssql构建API接口_通过php连接mssql实现API开发的详细内容,更多请关注php中文网其它相关文章!