MySQL Date_Format无效

时间:2012-11-05 20:16:40

标签: php mysql time mysqli date-format

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

到目前为止,我所做的是创建了第3和第4个字段,它也使用了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。基本上,这段代码没有做任何事情。我在这里做错了什么?

已编辑以显示我的$结果

1 个答案:

答案 0 :(得分:1)

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);