亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試使用來自 mysql 數據庫的時間戳時,PHP date_create 失敗

嘗試使用來自 mysql 數據庫的時間戳時,PHP date_create 失敗

PHP
藍山帝景 2023-04-15 17:13:52
我只是想找出為什么我不斷收到此錯誤:Notice: Undefined variable: flsrfc現在 $flsrfc 設置如下:if (date_create($flstart)) {   $flsdt = date_create($flstart);   if ($flsdt) {      $flsrfc = date_format($flsdt, "Y-m-d\TH:i");   } else {      $flsrfc = date_format(date_create(time()), "Y-m-d\TH:i");   }}現在我遇到的問題是嘗試使用我嘗試獲取的格式化時間來設置本地日期時間輸入。這是該代碼以及錯誤說明其來源的代碼。我的猜測是 date_create 函數不起作用,但我不知道為什么。$HTMLOUT .= '<input name="fls" value="'.$flsrfc.'" size="30" type="datetime-local" />';我確保 $flstart 從數據庫中獲取數據,這是它的代碼:$flstart = mysqli_fetch_row(mysqli_query("SELECT value FROM config WHERE name = 'flstart'"))[0];我已經閱讀了許多 php 的手冊頁和文檔,試圖找出原因,我在時間戳上嘗試了 strtotime,不行,我也嘗試將它強制為整數,這也是同樣的問題。有人能給我指明正確的方向嗎?謝謝。
查看完整描述

1 回答

?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

您的問題是,如果date_create失敗,則$flsrfc永遠不會設置。您應該將該代碼重寫為:


if (($flsdt = date_create($flstart)) !== false) {

    $flsrfc = date_format($flsdt, "Y-m-d\TH:i");

else {

    $flsrfc = date("Y-m-d\TH:i");

}

請注意,您可以else通過調用來簡化該部分,date因為它的默認輸入是time().


就失敗原因而言date_create,這取決于表中數據的格式。如果您將其存儲為 MySQLdate或datetime類型,則應該沒有問題。否則,您可能需要使用date_create_from_format適當的格式參數來匹配表中存儲的內容。


查看完整回答
反對 回復 2023-04-15
  • 1 回答
  • 0 關注
  • 96 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號