[英]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 中。
參考:
我只會正常提取日期,而不嘗試在數據庫服務器上對其進行格式化並使用 PHP 對其進行格式化。
$date = // code here to gather the date
$date = date('Y', strtotime($date));
echo $date; // should return the 4 digit year
好吧,有一些潛在的問題,但首先是您需要實際使用數據庫連接來運行 EXTRACT 命令。
或者,使用較少的開銷,您可以使用字符串切片或正則表達式來提取日期。
怎么樣:
$xml_output .="\t\t\t\t<year>" . preg_replace('#.*/#', '', $row[publication_date]) . "</year>\n";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.