2017-03-07 16 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