0

私は CodeIgniter でカスタム フォーラムを構築しており、現在、スレッドの最後のメッセージが投稿されるまでにボードのスレッドを注文する作業を行っています。カテゴリ (親)、ボード (子)、スレッド、およびメッセージ (スレッドの返信) のテーブルがあります。私がやりたいことは、現在のボード内のすべてのスレッドを取得し、スレッドの最後のメッセージ (last_msg_id) までにそれらを並べ替えることです。

クエリが正しく記述されていると思っていましたが、SQL エラーが発生しました。私の論理が間違っているだけかもしれません。皆さんはどう思いますか?

これは私のクエリです:

$query = "SELECT 
                    t.child_id, t.thread_id, t.last_msg_id,
                    m.thread_id, m.message_id, m.date_posted
                    FROM forum_threads AS t 
                    LEFT JOIN forum_messages ON m.message_id = t.last_msg_id AS m
                    WHERE t.child_id = " . $board_id . "
                    ORDER BY m.date_posted DESC
                    LIMIT 10";

これは私が得ているエラーです:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS m WHERE t.child_id = 1 ORDER BY m.date_posted DESC ' at line 5
4

1 に答える 1