2017-03-07 100 views
-1

我已经搜索了我的答案,但所有的解决方案都不适合我的问题。我想建立一个论坛,首先从我的MySQL数据库请求所有的问题。然后我想找出每个问题的最新条目的日期,所以我创造了这个:显示来自mysqli_query的结果

while ($array = mysqli_fetch_assoc($res_page)) { 
    $get_latest_date = "select * from forum" 
        . " where id = " 
        . $array["id"] 
        . ' order by date DESC' 
        . ' limit 1'; 

    $latest_date = mysqli_query($con, $get_latest_date); 

    $date = mysqli_fetch_row($latest_date); 

    echo '<div class="forum_preview">' 
    . '<a href=#" class="forum_preview_question">' 
    . $array["question_short"] 
    . '</a>' 
    . '<p class="forum_preview_date">' 
    . $date["date"] 
    . '</p>' 
    . '<p class="forum_preview_comments">' 
    . $number_of_questions 
    . '</p>' 
    . '</div>'; 
} 

我的问题是,展示了最新的日期是不工作的,因为我不能得到的结果出来的我mysqli_query。

任何人都可以告诉我我的错误在哪里或者有没有人有另一个想法?

在此先感谢!

+5

** WARNING **:当使用'mysqli'你应该使用[参数化查询(http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)和[ 'bind_param'](http://php.net/manual/en/mysqli-stmt.bind-param.php)将用户数据添加到您的查询中。 **不要**使用字符串插值或连接来完成此操作,因为您创建了严重的[SQL注入漏洞](http://bobby-tables.com/)。 **不要**将'$ _POST','$ _GET'或**任何**用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。 – tadman

+0

做一个'join',不要用2个查询。 – chris85

+0

@ chris85我只是看着它,它听起来不错,但我从来没有做过,它会花费太多的时间来学习它的具体事情,我想有一个更容易和更快的解决方案 – sebjel

回答

0

我想你要找的是mysqli_fetch_assoc,mysqli_fetch_row返回一个数组,mysqli_fetch_assoc返回一个关联数组,所以你可以通过键获取数据。

$latest_date = mysqli_query($con, $get_latest_date); 
$date = mysqli_fetch_assoc($latest_date); 
echo $date["date"]; 
+0

它不适合我,没有错误消息或任何显示 – sebjel

+0

对不起,它确实为我工作,非常感谢你! – sebjel