【问题标题】:php fetching mysql table date not outputting numbersphp获取mysql表日期不输出数字
【发布时间】:2012-03-21 20:28:20
【问题描述】:

您好,我在从我的 mysql 数据库输出数据时遇到问题,代码输出用户非常好,但不会输出日期、时间或分数。

php代码

<?php
require_once('config.php');

$Query="SELECT * from highscores";
$Result=mysql_query( $Query );
$Return="<?xml version=".'"1.0"'." encoding=".'"UTF-8"?>'."\n"."<tables>";

while($table=mysql_fetch_object($Result))
{
 $Return.="<table><user><![CDATA[".$table->user."]]></user><date><![CDATA[".$table->cdate."]]></date><time><![CDATA[".$table->ctime."]]></time><score><![CDATA[".$table->score."]]></score></table>"; 
}
$Return.="</tables>";
mysql_free_result($Result);
echo ($Return);
?> 

这是代码输出的内容

<table>
    <user><![CDATA[Jim]]></user>
    <date><![CDATA[0000-00-00]]></date>
    <time><![CDATA[00:00:00]]></time> 
    <score><![CDATA[0]]></score>
</table>

输出数字似乎有问题,我只是想不出它是什么!

【问题讨论】:

  • 检查phpMyAdmin中的查询以防万一,看它是否返回正确的值

标签: php mysql xml


【解决方案1】:

这不是输出数字的问题,而是您如何将其插入数据库的问题。如果您插入无效的日期/时间,mysql 会“轻松”将其转换为 0000-00-00 和 00:00:00 值。

【讨论】:

  • 抱歉这么愚蠢的问题和欢呼,版主可以删除这个!
【解决方案2】:

确保在将日期放入数据库时​​正确格式化日期。我总是使用它(请注意,我只添加了 's-I-G' 位,以便它也可以与时间一起使用,所以我在 SQL 格式化 DateTime 的方式上可能不正确。如果是这样,请发表评论,我会仔细检查。)

date('Y-m-d s:I:G', strtotime($dateToFormat));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-06
    • 1970-01-01
    • 2015-07-26
    • 2012-05-27
    • 1970-01-01
    • 2011-11-05
    • 2013-12-26
    相关资源
    最近更新 更多