php - MySQL Date_Format 不适用于

标签 php mysql time mysqli date-format

我有一个带有 MySQL 数据库的 PHP 页面,其中有 2 个字段在 MySQL 中使用 TIME 类型。我想使用 MySQL 的 将这两个字段从 24 小时格式 (00:00:00) 转换为 12 小时 AM/PM 格式 (00:00 AM) >DATE_FORMAT('','') 但它不起作用。

到目前为止,我所做的是创建了第三个和第四个字段,它们也使用 TIME 类型。我将第 1 个和第 2 个字段发送到第 3 个和第 4 个字段,并转换第 3 个和第 4 个字段以保留原始字段。

<?php
//connection statements omitted

$sql="SELECT * FROM $table ORDER BY date LIMIT $start, $amount";
$result = $mysqli->query($sql);

//Sends the original time_in data to the new format_in column. 
$sql2="UPDATE $table SET format_in = time_in";
$result2=$mysqli->query($sql2);

$sql3="SELECT DATE_FORMAT(format_in,'%l:%i %p') FROM $table";
$result3=$mysqli->query($sql3);

while($row = $result->fetch_array()){

?>
//other fields omitted
<td><?php echo $row['format_in'];?></td>

//end while loop
<?php } ?>

此代码所做的唯一事情是复制 time_in 列中的所有内容。这是标准的 24 小时格式 00:00:00。基本上,这段代码没有做任何事情。我在这里做错了什么?

已编辑以显示我的$结果

最佳答案

while($row = $result3->fetch_array()){

而不是

while($row = $result->fetch_array()){

根据我们在评论部分的对话:

改变

$sql="SELECT * FROM $table ORDER BY date LIMIT $start, $amount";
$result = $mysqli->query($sql);

$sql="SELECT field_1,field_2,field_n,DATE_FORMAT(format_in,'%l:%i %p') format_in FROM $table ORDER BY date LIMIT $start, $amount";
$result = $mysqli->query($sql);

关于php - MySQL Date_Format 不适用于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13239683/

相关文章:

ruby-on-rails - ruby 1.9.2 中与 ruby​​ 1.8.7 不同的时间格式导致问题

c - 为什么合并排序墙时间总是0?有人可以帮我吗...?

php - 将 php 关联数组返回到 javascript 数组

php - json_decode 为字符串变量返回 NULL

php - 使用 Doctrine 设置 "time"或 DateInterval

java - SQL BLOB 不以空值结尾。我该怎么做?

excel - 按时间间隔运行宏的代码?

php - 如何将传递的字符串匹配到检查 mysql 数据库的 php 函数

php - Laravel 4 从构造中创建表

mysql - Rails 找到 :conditions