在 PHP 中,要使用 mssql_connect
函數(shù)進行事務處理,首先需要建立一個與 SQL Server 數(shù)據庫的連接,然后使用 mssql_begin_transaction
開始一個新的事務,之后執(zhí)行相關的 SQL 語句,最后根據操作結果提交或回滾事務
以下是一個簡單的示例:
<?php
// 連接數(shù)據庫
$server = 'localhost';
$user = 'username';
$password = 'password';
$database = 'database_name';
$conn = mssql_connect($server, $user, $password);
if (!$conn) {
die('連接失敗: ' . mssql_get_last_message());
}
// 選擇數(shù)據庫
if (!mssql_select_db($database, $conn)) {
die('選擇數(shù)據庫失敗: ' . mssql_get_last_message());
}
// 開始事務
if (!mssql_begin_transaction($conn)) {
die('開始事務失敗: ' . mssql_get_last_message());
}
// 執(zhí)行 SQL 語句
$sql1 = "INSERT INTO table1 (column1, column2) VALUES ('value1', 'value2')";
$result1 = mssql_query($sql1, $conn);
$sql2 = "UPDATE table2 SET column1 = 'value3' WHERE column2 = 'value4'";
$result2 = mssql_query($sql2, $conn);
// 檢查操作結果并提交或回滾事務
if ($result1 && $result2) {
// 提交事務
if (!mssql_commit($conn)) {
die('提交事務失敗: ' . mssql_get_last_message());
}
echo "事務成功提交!";
} else {
// 回滾事務
if (!mssql_rollback($conn)) {
die('回滾事務失敗: ' . mssql_get_last_message());
}
echo "事務已回滾!";
}
// 關閉數(shù)據庫連接
mssql_close($conn);
?>
注意:請確保已安裝并啟用了 PHP 的 MSSQL 擴展。從 PHP 5.3 起,建議使用 sqlsrv_
系列函數(shù)(SQLSRV 擴展)來連接 SQL Server 數(shù)據庫,因為它們提供了更好的性能和功能支持。要在 PHP 中使用 SQLSRV 擴展進行事務處理,可以參考 PHP SQLSRV 事務處理文檔。