修改读取存储过程结果

hotfix/远程访问多媒体中心
lyt 6 years ago
parent a95c277411
commit 2cd1e4d442

@ -86,7 +86,7 @@ class Tulanduo
} }
// 商务 // 商务
if (strval($order->GRI_OrderType) === "227002") { if (strval($order->GRI_OrderType) === "227002") {
return false; // todo: // return false; // todo:
return $this->push_tour($order); return $this->push_tour($order);
} }
// 传统订单 // 传统订单
@ -127,7 +127,7 @@ class Tulanduo
$grd_apart_info = $this->tour_apart($grd_info); $grd_apart_info = $this->tour_apart($grd_info);
$big_order_index = 0; $big_order_index = 0;
$expect_order_cnt = count($grd_apart_info['com'])+intval(!empty($grd_apart_info['big_pvt']))+intval(!empty($grd_apart_info['pvt'])); $expect_order_cnt = count($grd_apart_info['com'])+intval(!empty($grd_apart_info['big_pvt']))+intval(!empty($grd_apart_info['pvt']));
// echo json_encode($grd_apart_info);exit; // echo json_encode($grd_info);exit;
foreach ($grd_apart_info as $group_key => $grd_a) { foreach ($grd_apart_info as $group_key => $grd_a) {
$big_order_index = $this->tour_apart_order_exec($group_key, $vas, $request_info, $guestlist, $grd_a, $big_order_index); $big_order_index = $this->tour_apart_order_exec($group_key, $vas, $request_info, $guestlist, $grd_a, $big_order_index);
} }

@ -68,23 +68,21 @@ log_message('error',$sql);
'ReturnDatesAsStrings' => 1 'ReturnDatesAsStrings' => 1
); );
$conn = sqlsrv_connect($db['HT']['hostname'], $connection); $conn = sqlsrv_connect($db['HT']['hostname'], $connection);
$stmt = sqlsrv_query($conn, "EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 "); log_message('error', "SET NOCOUNT ON;EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 ");
$stmt = sqlsrv_query($conn, "SET NOCOUNT ON;EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 ");
$result_object = array(); $result_object = array();
if (false !== $stmt) { // 无权限返回false,会导致下列sqlsrv_has_rows,sqlsrv_next_result死循环 if (false !== $stmt ) { // 无权限或执行错误返回false
//存储过程中每个select都产生一个结果集,取某个结果集就需要从第一个移动到需要的那个结果集 // 存储过程中每个select都产生结果集
//如果结果集为空就移到下一个 // 设置了SET NOCOUNT ON;就只有输出的结果集
while (sqlsrv_has_rows($stmt) !== TRUE) { $a = true;
sqlsrv_next_result($stmt); while ($a !== false) {
} $row = sqlsrv_fetch_object($stmt); // Retrieves the next row of data as a PHP object.
while ($row = sqlsrv_fetch_object($stmt)) { $a = !empty($row);
$result_object[] = $row; $a===true ? $result_object[] = $row : null;
} }
sqlsrv_free_stmt($stmt); sqlsrv_free_stmt($stmt);
} }
sqlsrv_close($conn); sqlsrv_close($conn);
log_message('error', "EXEC Tourmanager.dbo.SP_VendorPlan_GetPlanInfo $gri_sn, $vendor_id, 0 ");
$grd_info = $result_object; $grd_info = $result_object;
$all_day_no = array_map(function($ele){return $ele->GRD_DayNo;}, $grd_info); $all_day_no = array_map(function($ele){return $ele->GRD_DayNo;}, $grd_info);
$day_no_str = implode(",", $all_day_no); $day_no_str = implode(",", $all_day_no);

Loading…
Cancel
Save