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

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

如何從MySQL數據庫獲取時間戳?

如何從MySQL數據庫獲取時間戳?

PHP
皈依舞 2021-05-14 18:16:54
如果我調用函數getDate_created();,我的查詢將不會顯示時間戳。我怎樣才能解決這個問題?函數getAll()可以工作。<?phpclass Post{    public $date_created;    public function getDate_created()    {        return $this->date_created;    }    public function setDate_created($date_created)    {        $this->date_created = $date_created;        return $this;    }    public static function getAll()    {        $conn = Db::getInstance();        $result = $conn->query('SELECT * FROM images');        return $result->fetchAll(PDO::FETCH_CLASS, __CLASS__);     } }$posts = Post::getAll();$timepost = new Post();$t = $timepost->getDate_created();var_dump($t);表格圖片:CREATE TABLE `images` (   `id` int(11) NOT NULL,   `user_id` int(11) NOT NULL,   `img_description` varchar(255) NOT NULL,   `date_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,   `file_path` varchar(255) NOT NULL   ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Var_dump($ t)結果顯示為NULL。
查看完整描述

2 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

您正在創建一個Post何時執行的新實例$timepost = new Post();


如果您想從數據庫中讀取這些帖子之一,則應該從getAll()方法中讀取那些(或更多)帖子。


前任:


$posts = Post::getAll();


foreach($posts as $post) {

    var_dump($post->getDate_created());

}


//or


var_dump($posts[0]->getDate_created());


查看完整回答
反對 回復 2021-05-28
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

在這種情況下,沒有必要為屬性設置時間戳記值,因為您將獲取所有記錄,因此它將獲得最后一個記錄的值(它將覆蓋之前的每個記錄)。僅當您要從數據庫中獲取一條記錄時,才有必要將值設置為$ this-> date_created屬性。通常,您只需要使……

$received_data = $result->fetch(PDO::FETCH_ASSOC);
$this->date_created = $received_data['date_created'];

此解決方案僅適用于assoc數組中的單個記錄。如果您真的想為所有記錄創建它,只需使用簡單的foreach()循環遍歷從查詢中接收到的數據即可。

如果您需要數據庫中的所有記錄,則不希望(請相信我)將其設置為屬性(除非您希望擁有對象數組,但是您需要重建大量當前代碼并且效率不高) 。

在您的情況下,我建議僅使用返回的數組,而不將值設置為屬性。

另外,在這種情況下,我不建議使用getter和setter,只需使用$ timepost-> created_date(當然,您需要在此屬性之前設置值)即可達到相同的效果。


查看完整回答
反對 回復 2021-05-28
  • 2 回答
  • 0 關注
  • 184 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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