prepare($sql_purchaseApply); $query_purchaseApply->execute(); $result = $query_purchaseApply->fetchAll(); return $result; } catch (PDOException $ex) { trigger_error($ex->getMessage(), E_USER_WARNING); return array(); } } //費用申請單API 不能用 function get_purchase_apply($validation, $GroupId, $BillNo) { if (is_null($validation) || is_null($GroupId) || is_null($BillNo)) { return "參數錯誤"; } $apiurl = "http://60.244.87.101:880//twWebAPI/V1/PURFEEAPPLY/GetERPData?pkValue=$BillNo"; $headerParam = [ 'CHI_Authorization: ' . $validation, 'GroupId:' . $GroupId ]; $ch = curl_init(); if (!$ch) { throw new Exception("Could not init cURL"); } curl_setopt($ch, CURLOPT_URL, $apiurl); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headerParam); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); $response = curl_exec($ch); if ($response === false) { $error = curl_error($ch); curl_close($ch); if (is_null($error)) { throw new Exception("Curl error: Unknown error"); } else { throw new Exception("Curl error: " . $error); } } $result = json_decode($response, true); if (is_null($result)) { throw new Exception("Failed to decode JSON data"); } curl_close($ch); return $result; } function transanction_purchase_apply($validation, $GroupId, $BillNo) { date_default_timezone_set("Asia/Taipei"); $host = getenv('DB_HOST'); $dbuser = getenv('DB_USERNAME'); $dbpassword = getenv('DB_PASSWORD'); $dbname = getenv('DB_DATABASE'); $sqlsrv = getenv('sqlsrv'); $Database = getenv('Database'); $Account = getenv('Account'); $Password = getenv('Password'); try { $mysqlConn = new PDO("mysql:host=$host;dbname=$dbname", $dbuser, $dbpassword); $mysqlConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $mssqlConn = new PDO("sqlsrv:Server=$sqlsrv;Database=$Database", $Account, $Password); $mssqlConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $mysqlConn->beginTransaction(); $mssqlConn->beginTransaction(); // 在MySQL数据库中执行插入操作 $mysqlInsertQuery = "INSERT INTO your_mysql_table (column1, column2) VALUES (:value1, :value2)"; $mysqlStatement = $mysqlConn->prepare($mysqlInsertQuery); $mysqlStatement->execute(array(':value1' => 'value1', ':value2' => 'value2')); // 在MSSQL数据库中执行插入操作 $mssqlInsertQuery = "INSERT INTO your_mssql_table (column1, column2) VALUES (?, ?)"; $mssqlStatement = $mssqlConn->prepare($mssqlInsertQuery); $mssqlStatement->execute(array('value1', 'value2')); // 提交事务 $mysqlConn->commit(); $mssqlConn->commit(); echo "Transaction successfully committed."; } catch (PDOException $e) { // 如果有异常发生,则回滚事务 $mysqlConn->rollBack(); $mssqlConn->rollBack(); echo "Transaction failed: " . $e->getMessage(); } }