我已经把头撞在墙上几个小时了,如果你知道在哪里看,我怀疑答案很简单。
我在 MS SQL 2005 中有一个编译的存储过程,它运行良好。我已经测试过了,没有任何错误。
但是,当我从此处显示的 PHP 包含文件中调用相同的过程时,存储过程似乎开始运行(我的 mssql 跟踪显示要正确进行调用)然后中途停止。有时我会更新 15 条记录中的 10 条。其他时候我得到14分中的5分。
如果我复制从跟踪窗口运行的命令并直接在 MS SQL 管理工作室中运行它,它会完美运行。这让我认为这是某种超时,还是我在程序运行之前关闭了连接,所以 MS SQL 2005 认为它应该被终止?
<?php
session_start();
require ('../includes/config.inc.php');
require('../includes/mssql.php');
function include_booking($box, $offeredtolocumid, $surgery, $rate) {
$dbc2 = mssql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$q2 = "exec WEB_Surgery_Box_OfferBoxtoLocum '".$box."', '".$offeredtolocumid."', '".$surgery."'";
$myresult = mssql_query($q2 ,$dbc2);
}
/* set out document type to text/javascript instead of text/html */
header("Content-type: text/javascript");
$offeredtolocumid = $_GET["locumid"];
//$rate = $_GET["rate"];
$rate = 15.99;
$surgery = $_SESSION['surgeryid'];
$box = $_SESSION['currentbox'];
include_booking($box, $offeredtolocumid, $surgery, $rate);
?>
我是 PHP / MS SQL 的新手,所以我知道上面的代码无论如何都不完美。
我有许多其他过程调用没有问题。只是这个没有。MS SQL 服务器完成此过程平均需要 0.1 秒。我希望有人有答案。
谢谢尼尔