簡體   English   中英

SQL 和 PHP 語法幫助

[英]SQL and PHP syntax help

我正在從數據庫中獲取數據並將其輸出為 XML 文件我使用以下格式使用 for 循環獲取它

$arrayName['fieldName'] which in my case is $row[publication_date]

在數據庫中,它的格式為 mm/dd/yyyy..但我只想輸出 yyyy,我正在嘗試以下代碼::

$k = "SELECT EXTRACT(YEAR FROM'$row[publication_date]')";

if($k!=NULL){

$xml_output .="\t\t\t\t<year>" . $k . "</year>\n";

結果是

<year>SELECT EXTRACT(YEAR FROM'1/1/1995')</year> 

但相反,我希望它只是

<year>1995</year> 

我在這里做錯了什么? 請幫幫我..

任何問題請評論.. :)

您不能只運行 SQL 而不在數據庫中執行查詢:您需要使用 PHP 的函數。

$timestamp = strtotime($row['publication_date']); // convert date string to unix timestamp

$year = date('Y', $timestamp); // extract only the year

$year存儲在您的 XML 中。

參考:

http://php.net/strtotime
http://php.net/date

我只會正常提取日期,而不嘗試在數據庫服務器上對其進行格式化並使用 PHP 對其進行格式化。

$date = // code here to gather the date

$date = date('Y', strtotime($date));

echo $date;  // should return the 4 digit year

http://us.php.net/manual/en/function.date.php

好吧,有一些潛在的問題,但首先是您需要實際使用數據庫連接來運行 EXTRACT 命令。

或者,使用較少的開銷,您可以使用字符串切片或正則表達式來提取日期。

怎么樣:

$xml_output .="\t\t\t\t<year>" . preg_replace('#.*/#', '', $row[publication_date]) . "</year>\n";

暫無
暫無

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

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