2017-04-13 54 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后,加入叔:(