refactor(database): 将SQL Server连接从sqlsrv改为FreeTDS方式

修改数据库连接方式以使用mssql扩展替代sqlsrv扩展,适配FreeTDS配置
更新相关查询和错误处理逻辑,确保功能一致性
This commit is contained in:
2025-06-15 22:20:05 +08:00
parent cd49cd7656
commit 010a5b3271
+31 -21
View File
@@ -1,19 +1,22 @@
<?php
// 连接SQL Server数据库
$serverName = "localhost";
$connectionOptions = array(
"Database" => "your_database",
"Uid" => "your_username",
"PWD" => "your_password"
);
// 检查 sqlsrv 扩展是否已加载
if (!extension_loaded('sqlsrv')) {
die('SQLSRV 扩展未加载,请检查 PHP 配置。');
}
$conn = sqlsrv_connect($serverName, $connectionOptions);
// 连接SQL Server数据库(FreeTDS方式)
$server = 'localhost';
$database = 'your_database';
$username = 'your_username';
$password = 'your_password';
// 检查mssql扩展是否已加载
if (!function_exists('mssql_connect')) {
die('mssql 扩展未加载,请检查PHP配置并安装FreeTDS');
}
$conn = mssql_connect($server, $username, $password);
if (!$conn) {
die(print_r(sqlsrv_errors(), true));
die('无法连接数据库: ' . mssql_get_last_message());
}
if (!mssql_select_db($database, $conn)) {
die('无法选择数据库: ' . mssql_get_last_message());
}
// 处理开关操作
@@ -22,19 +25,26 @@ if (isset($_GET['action']) && isset($_GET['id'])) {
$status = $_GET['action'] == 'enable' ? 1 : 0;
// 更新状态
$sql = "UPDATE features SET status = ? WHERE id = ?";
$params = array($status, $id);
$stmt = sqlsrv_query($conn, $sql, $params);
$sql = "UPDATE features SET status = $status WHERE id = '$id'";
$result = mssql_query($sql, $conn);
if (!$result) {
die('更新失败: ' . mssql_get_last_message());
}
// 记录日志
$logSql = "INSERT INTO operation_logs (feature_id, action, operation_time) VALUES (?, ?, GETDATE())";
$logParams = array($id, $_GET['action']);
sqlsrv_query($conn, $logSql, $logParams);
$logSql = "INSERT INTO operation_logs (feature_id, action, operation_time) VALUES ('$id', '{$_GET['action']}', GETDATE())";
$logResult = mssql_query($logSql, $conn);
if (!$logResult) {
die('日志记录失败: ' . mssql_get_last_message());
}
}
// 查询功能列表
$sql = "SELECT id, name, description, status FROM features";
$stmt = sqlsrv_query($conn, $sql);
$stmt = mssql_query($sql, $conn);
if (!$stmt) {
die('查询失败: ' . mssql_get_last_message());
}
// 微信HTML5页面
header('Content-Type: text/html; charset=utf-8');
@@ -81,5 +91,5 @@ header('Content-Type: text/html; charset=utf-8');
</body>
</html>
<?php
sqlsrv_close($conn);
mssql_close($conn);
?>