2017-04-13 84 views
0

我已經當我執行它的SQL Server Management Studio中的工作原理如下SQL過程它PHP傳遞日期的SQLServer

USE [DatabaseName] 
GO 

DECLARE @return_value int 

EXEC @return_value = [dbo].[getRegisterSummaryReport] 
     @registerID = -1, 
     @StartBusinessDate = '1900-01-01 00:00:00', 
     @EndBusinessDate = '3000-01-01 00:00:00' 

    SELECT 'Return Value' = @return_value 

    GO 

我現在想的是要通過StartBusinessDate並從PHP函數EndBusinessDate(對不起我對PHP很陌生)。

這是我有,但由於某種原因,我得到錯誤作爲迴應(我想我沒有使用正確的方式將日期傳遞給我的SQL Server)。

public static function getRegisterSummary($registerId, $startBusinessDate, $endBusinessDate, $dbConnection){ 
    $date_start = '1900-01-01 00:00:00'; 
    $date_end = '3000-01-01 00:00:00'; 
    if($startBusinessDate == "") $startBusinessDate = date('Y-m-d G:i:s', $date_start); // if startBusinessDate is "" I want the replace it with date_start 

    if($endBusinessDate == "") $endtBusinessDate = date('Y-m-d G:i:s', $date_end); 
    $sql = "exec [database1].[dbo].[getRegisterSummaryReport] @registerId = {$registerId}, @startBusinessDate = '{$startBusinessDate}', @endBusinessDate = '{$endBusinessDate}'"; 
    $results = $dbConnection->query($sql); 
    if($results){ 
     return $results; 
    } 
    return false; 
} 

謝謝

+1

你檢查你的SQL連接字符串,這是正確的? –

+0

我連接到我的數據庫,我可以插入登錄和做所有其他程序,但是這一個。 – user3382285

+0

必須有一個錯誤信息,這是什麼錯誤? – ADyson

回答

0

好的。這是令人尷尬的!

首先我改變了語法,這

if($startBusinessDate == "") $startBusinessDate = date('1900-01-01'); 
    if($endBusinessDate == "") $endBusinessDate = date('3000-01-01'); 

由於某種原因,這個曾與我通過了,當我加入

日期(「YMD摹不像正確的值:I: s',$ date_start);

此外,我在

犯了一個錯誤,如果($ endBusinessDate == 「」)$ endtBusinessDate =日期( 'Y-M-d G:I:S',$ DATE_END);

I $ endtBusinessDate後,加入叔:(