php里面没有mssql,为什么没有正确使用PHP / MSSQL的日期/时间?
我最近將服務器上運行的PHP版本升級到5.3.20.從那以后,每當我從MSSQL數據庫(mssql_query)中提取日期時,我就會得到奇怪的錯誤日期.
我檢查了區域設置,默認時區設置為’Australia / Brisbane’,我還檢查了php.ini設置并確認mssql.datetimeconvert已關閉.當選項打開時,日期似乎通過預先格式化(沒有秒),但是當關閉該選項時,我得到一個看起來像這樣的日期.
mssql.datetimeconvert (off): 2013-07-38 16:00:20
mssql.datetimeconvert (on): Feb 07 2013 09:37PM
有一個簡單的解決方案嗎?
以下是比較mysql / mssql源之間輸出的代碼:
$rs = $db->query("select id, servertime from bobstable where id = 86427420");
$mss_set = mssql_query("select id, servertime from T_bobstable WITH (NOLOCK) where id = 86427420");
$myrow = $rs->fetch_assoc();
$msrow = mssql_fetch_array($mss_set);
var_dump($myrow);
echo "
";
var_dump($msrow);
產出如下:
array(2) { ["id"]=> string(8) "86427420" ["servertime"]=> string(19) "2013-02-08 14:00:24" }
array(4) { [0]=> float(86427420) ["id"]=> float(86427420) [1]=> string(19) "2013-08-39 24:673:0" ["servertime"]=> string(19) "2013-08-39 24:673:0" }
這是我從SQL Server Studio收到的輸出
2013-02-08 14:00:24.673
我可以理解它是如何被格式化的(因為下面已經解決了問題的這一部分),但是我無法理解為什么它會以這種格式出現,或者如何更改PHP的配置以避免這種情況.在我升級PHP之前,它曾經是2013-02-08 14:00:24.有沒有人經歷過或看到過這種情況?
解決方法:
找到一個似乎堅持的解決方案: –
我降級了服務器上安裝的FreeTDS版本:
freetds.x86_64 0.91-2.el5 to
freetds.x86_64 0.64-11.el5.centos
這確定了日期.
不知道為什么.
標簽:php,datetime,sql-server
來源: https://codeday.me/bug/20190709/1411345.html
總結
以上是生活随笔為你收集整理的php里面没有mssql,为什么没有正确使用PHP / MSSQL的日期/时间?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么说ip协议是无连接协议
- 下一篇: android q全局夜间模式,安卓Q新