Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP、CodeIgniter和MySQL显示查询的日期字段问题?_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

使用PHP、CodeIgniter和MySQL显示查询的日期字段问题?

使用PHP、CodeIgniter和MySQL显示查询的日期字段问题?,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我将MySQL中的一个表更改为时间戳,以便在创建用户时可以看到: ALTER TABLE `users` CHANGE `created_date` `created_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ; 我使用CodeIgniter查询了数据库,得到了所有用户的行结果: $this->db->get('users'); 在我看来,我试图使用PHP date()显示结果: 其中: <?php echo

我将MySQL中的一个表更改为时间戳,以便在创建用户时可以看到:

ALTER TABLE  `users` CHANGE  `created_date`  `created_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
我使用CodeIgniter查询了数据库,得到了所有用户的行结果:

$this->db->get('users');
在我看来,我试图使用PHP date()显示结果:

其中:

<?php echo $row->created_date ?>

知道我做错了什么吗?

日期()的第二个参数必须是<代码>01-01-1970 0000-00-00 00:00:00不是有效的时间戳

$arr = explode(' ',$row->created_date);
$date = $arr[1] . ' ' . $arr[2];
echo date("d-m-Y", strtotime($date));
请注意,此字符串:
01-01-1970 0000-00-00 00:00:00
可能表示字段中的值错误,但此字符串:
1970-01-01 00:00:00
适用于
strotime()

编辑我有一种奇怪的感觉,你确定完整的字符串是由第二个回音输出的,还是你的两个回音都发生了,因此模仿了一个无效的字符串?在这种情况下:

echo date("d-m-Y", strtotime($row->created_date));

马上就好

日期()的第二个参数必须是一个<代码>01-01-1970 0000-00-00 00:00:00不是有效的时间戳

$arr = explode(' ',$row->created_date);
$date = $arr[1] . ' ' . $arr[2];
echo date("d-m-Y", strtotime($date));
请注意,此字符串:
01-01-1970 0000-00-00 00:00:00
可能表示字段中的值错误,但此字符串:
1970-01-01 00:00:00
适用于
strotime()

编辑我有一种奇怪的感觉,你确定完整的字符串是由第二个回音输出的,还是你的两个回音都发生了,因此模仿了一个无效的字符串?在这种情况下:

echo date("d-m-Y", strtotime($row->created_date));

马上就好

日期()的第二个参数必须是一个<代码>01-01-1970 0000-00-00 00:00:00不是有效的时间戳

$arr = explode(' ',$row->created_date);
$date = $arr[1] . ' ' . $arr[2];
echo date("d-m-Y", strtotime($date));
请注意,此字符串:
01-01-1970 0000-00-00 00:00:00
可能表示字段中的值错误,但此字符串:
1970-01-01 00:00:00
适用于
strotime()

编辑我有一种奇怪的感觉,你确定完整的字符串是由第二个回音输出的,还是你的两个回音都发生了,因此模仿了一个无效的字符串?在这种情况下:

echo date("d-m-Y", strtotime($row->created_date));

马上就好

日期()的第二个参数必须是一个<代码>01-01-1970 0000-00-00 00:00:00不是有效的时间戳

$arr = explode(' ',$row->created_date);
$date = $arr[1] . ' ' . $arr[2];
echo date("d-m-Y", strtotime($date));
请注意,此字符串:
01-01-1970 0000-00-00 00:00:00
可能表示字段中的值错误,但此字符串:
1970-01-01 00:00:00
适用于
strotime()

编辑我有一种奇怪的感觉,你确定完整的字符串是由第二个回音输出的,还是你的两个回音都发生了,因此模仿了一个无效的字符串?在这种情况下:

echo date("d-m-Y", strtotime($row->created_date));

马上就好

MySQL在使用TIMESTAMP数据类型时返回那个麻烦的字符串。您可以将其转换为查询中所需的Unix值:

SELECT UNIX_TIMESTAMP(`created_date`)...
(并在保存时将时间戳转换为字符串)


或者,您可以简单地在数据库中使用整数数据类型,并绕过所有字符串业务。

MySQL在使用时间戳数据类型时返回那个繁琐的字符串。您可以将其转换为查询中所需的Unix值:

SELECT UNIX_TIMESTAMP(`created_date`)...
(并在保存时将时间戳转换为字符串)


或者,您可以简单地在数据库中使用整数数据类型,并绕过所有字符串业务。

MySQL在使用时间戳数据类型时返回那个繁琐的字符串。您可以将其转换为查询中所需的Unix值:

SELECT UNIX_TIMESTAMP(`created_date`)...
(并在保存时将时间戳转换为字符串)


或者,您可以简单地在数据库中使用整数数据类型,并绕过所有字符串业务。

MySQL在使用时间戳数据类型时返回那个繁琐的字符串。您可以将其转换为查询中所需的Unix值:

SELECT UNIX_TIMESTAMP(`created_date`)...
(并在保存时将时间戳转换为字符串)



或者您可以简单地在数据库中使用整数数据类型并绕过所有字符串业务。

我如何更改我的表以获得有效的时间戳,而不是处理它的代码?也不知道为什么它给我1970年的日期,那不是我系统中的当前时间戳。为什么你需要一个时间戳而不是一个易于使用的/format/think
DATETIME
字段?另外,在字段中获取有效的时间戳更多的是将有效的时间戳放入表格中,然后更改表格。我当然可以使用日期字段,但我不知道如何将其添加到MyPHPAdmin中,并让它添加当前的默认日期。唯一的选项是CURRENT_TIMESTAMP。您可以发布定义行的代码吗?返回的字符串不是时间戳,它必须由CodeIgniti以某种方式更改。我还通过添加的DATETIME而不是时间戳更改了我的ALTER TABLE SQL,因此它看起来像现在的ALTER TABLE
users
CHANGE
created\u date
DATETIME非空默认当前\u时间戳;现在应该是日期时间了,如果不使用PHP date(),它会将当前日期和时间显示为2014-07-25 10:59:25,因此我认为您是对的CodeIgniter正在处理日期字段。我如何更改我的表以获得有效的时间戳,而不是处理它的代码?也不知道为什么它给我1970年的日期,那不是我系统中的当前时间戳。为什么你需要一个时间戳而不是一个易于使用的/format/think
DATETIME
字段?另外,在字段中获取有效的时间戳更多的是将有效的时间戳放入表格中,然后更改表格。我当然可以使用日期字段,但我不知道如何将其添加到MyPHPAdmin中,并让它添加当前的默认日期。唯一的选项是CURRENT_TIMESTAMP。您可以发布定义行的代码吗?返回的字符串不是时间戳,它必须通过CodeIgniti进行更改。我还通过添加DATETIME而不是时间戳更改了ALTER TABLE SQL,看起来像