我从数据库中获取数据并将其作为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>
我在这做错了什么? plzz帮我解决..
任何问题plzz评论..:)
答案 0 :(得分:3)
您不能在不在数据库中执行查询的情况下运行SQL:您需要使用PHP的函数。
$timestamp = strtotime($row['publication_date']); // convert date string to unix timestamp
$year = date('Y', $timestamp); // extract only the year
将$year
存储在XML中。
参考:
答案 1 :(得分:2)
我只是正常地提取日期而不尝试在数据库服务器上格式化它并使用PHP格式化它。
$date = // code here to gather the date
$date = date('Y', strtotime($date));
echo $date; // should return the 4 digit year
答案 2 :(得分:1)
嗯,有一些潜在的问题,但首先是您需要实际使用数据库连接来运行EXTRACT命令。
或者,通过较少的开销,您可以使用字符串切片或正则表达式来提取日期。
答案 3 :(得分:1)
怎么样:
$xml_output .="\t\t\t\t<year>" . preg_replace('#.*/#', '', $row[publication_date]) . "</year>\n";