簡體   English   中英

PHP輸入MS SQL無法從字符串轉換日期和/或時間

[英]PHP Input MS SQL Failed to convert date and/or time from character string

我正在運行MSSQL函數並返回PHP,我在PHP中使用該函數兩次並將其寫入MySQL數據庫。

我第一次運行函數我使用$ to和$ from(我很清楚它不漂亮,我不是交易的php編碼器......)

$to = date("j M Y", mktime());
$year = date("Y", mktime());
$jan = '1 jan ';
$from = $jan . $year;

我正在使用以下內容

select * from MISYearToDate('$from', '$to')

這非常好。

然后當我做同樣的事情,但在本周的日期使用

$weekstarting = date('j M Y', strtotime('last sunday'))."<br>";
$weekending = date('j M Y', strtotime('next saturday'))."<br>";

然后跑

select * from MISYearToDate('$weekstarting', '$weekending')

我收到了錯誤

[Microsoft][SQL Server Native Client 11.0][SQL Server]Conversion failed when converting date and/or time from character string. ) 

$ From和$回聲

1 jan 2012
27 Jun 2012

$ weekstarting和$ weekend echo

24 Jun 2012
30 Jun 2012

所以據我所知,確實沒有什么區別,我真的很困惑!

我建議只以yyyy-mm-dd格式將日期輸入SQL。 這將確保SQL不會與日期格式混淆。

SQL不接受格式為2012年1月1日的日期(作為字符串)。

$weekending = date('j M Y', strtotime('next saturday'))."<br>";
                                                       ^^^^^^^

<br>不是SQL日期字符串的有效組件。 您可能正在瀏覽器中查看輸出,因此有效隱藏了<br> ,但這就是您的問題所在。

這會將您的查詢轉變為:

select * from MISYearToDate('24 Jun 2012<br>', '30 Jun 2012<br>')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM