在php中显示mysql的日期

时间:2017-06-10 13:41:10

标签: php mysql

所以我想从我的数据库中的日期列中获取一个且只有第一个值,并将其放在我的PHP文件中,这是获取日期的代码片段:

            $one = 1;
            $Lihat="SELECT * FROM event where status = '$one'";
            $Tampil = mysqli_query($db, $Lihat);
            while ( $hasil = mysqli_fetch_array ($Tampil)) {
                    $query_start_date = "SELECT tgl_event
                                    FROM jadwal_acara
                                    WHERE id_event = '$id_event' AND status = $one
                                    ORDER BY tgl_event ASC
                                    LIMIT 1";

                $result = mysqli_query($db, $query_start_date);
                $start_date = mysqli_fetch_field($result);

     <td class="tgl_mulai"><?php echo date('d-m-Y', strtotime($start_date));?></td>

问题在于,当我试图在表格行中回显它时:

它返回一个错误,上面写着:

strtotime() expects parameter 1 to be string, object given. 

有谁知道如何将其更改为字符串或其他方法以获得所需的显示结果?谢谢。

编辑:

$ start_date = var_dump($ start_date);我测试时返回NULL值。

注意:未定义的属性:stdClass :: $ tgl_event in NULL

但我有其他行显示正确的名称和事件ID,它只是不能正确显示的日期。

现在显示:01-01-1970

1 个答案:

答案 0 :(得分:1)

mysqli_fetch_field()返回一个对象。而是使用mysqli_fetch_assoc

试试这个:

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT tgl_event FROM jadwal_acara WHERE id_event = ".$id_event." AND status = 1 ORDER BY tgl_event ASC LIMIT 1";

if ($result = mysqli_query($db, $query)) {
    while ($finfo = mysqli_fetch_assoc($result)) {

    $date = date('m-d-Y', strtotime($finfo['tgl_event']));
    }
    mysqli_free_result($result);
}

mysqli_close($db);

然后在你的HTML中:

<td class="tgl_mulai"><?php echo $date; ?></td>