Я использую этот запрос MySQL, названный MySQL:MySQL JOIN: строки не возвращаются
SELECT tf_posts.*, tf_threads.thread_id FROM tf_threads LEFT JOIN tf_posts ON tf_threads.thread_id=54
Когда я использую mysql_fetch_array
я получаю массив полный каждого поля, но фактические значения для полей действуют очень странно ...
Любые числовые или датавые поля возвращаются просто отлично; Я могу использовать их в массиве. Однако любые текстовые поля пусты. Возвращаемый массив будет показано ниже в его сыром виде:
Array ( [0] => [id] => [1] => [thread_id] => 820515612 [2] => [poster_id] => [3] => [title] => [4] => [body] => [5] => [date] => [6] => [edit_date] => [7] => [edited] => [8] => [draft] => [9] => [spam] => [10] => 820515612 )
Игнорировать числовые индексы здесь - я заинтересован в названных из них. Поля body
и title
являются текстовыми полями (CHAR()
) и, очевидно, не отображаются, когда они должны быть.
Что я сделал неправильно или пропустил здесь? Это потому, что я использую CHAR()
? Я сильно сомневаюсь в этом, но я не очень хорошо разбираюсь в MySQL.
EDIT:
Идея этого запроса выбрать все темы из одной таблицы (tf_threads), и взять первый пост под эту нитью из другой таблицы (tf_posts) и использовать свои посты title
поля название для потока.
Спасибо,
Джеймс
Пожалуйста, смотрите мои правки. Благодарю. – Bojangles
Отредактировал свой ответ. – Thilo
Это отлично работает - большое спасибо :-) – Bojangles