Seite 1 von 1

recent.php // SQL-Fehler "Unknown column..."

Verfasst: 01.03.2006 20:41
von Basti2003
Hallo,


seit kurzem erhalte ich auf nem phpbb2 Board beim Aufruf der recent.php folgende Fehlermeldung:

(Ausgabe von phpmyadmin beim Ausführen des Befehls)

Code: Alles auswählen

SQL-Befehl: Dokumentation

SELECT t . * , p.poster_id, p.post_username AS last_poster_name, p.post_id, p.post_time, f.forum_name, f.forum_id, u.username AS last_poster, u.user_id AS last_poster_id, u2.username AS first_poster, u2.user_id AS first_poster_id, p2.post_username AS first_poster_name
FROM phpbb_topics t, phpbb_posts p
LEFT OUTER JOIN phpbb_posts p2 ON p2.post_id = t.topic_first_post_id
LEFT OUTER JOIN phpbb_forums f ON p.forum_id = f.forum_id
LEFT OUTER JOIN phpbb_users u ON p.poster_id = u.user_id
LEFT OUTER JOIN phpbb_users u2 ON u2.user_id = t.topic_poster
WHERE t.forum_id NOT
IN (
'start'
)
AND p.post_id = t.topic_last_post_id
AND FROM_UNIXTIME( p.post_time, '%Y%m%d' ) - FROM_UNIXTIME( unix_timestamp( NOW( ) ) , '%Y%m%d' ) =0
ORDER BY t.topic_last_post_id DESC
LIMIT 0 , 50

MySQL meldet: Dokumentation
#1054 - Unknown column 't.topic_first_post_id' in 'on clause'
Merkwürdigerweise istaber die Spalte topic_first_post_id in der phpbb_topics vorhanden


Hat jmd eine Idee?
Es wurden keine Veränderungen an der DB vorgenommen, nur läuft jetzt Mysql 5 statt vorher 4.

Viele Grüße,
Basti

PS: Link: http://www.bm-community.de/recent.php

Verfasst: 22.03.2006 06:38
von reinsle
Hy,

ich habe im Moment selbiges Problem, und kanns an der Umstellung von MYSQL4.1 auf MYSQL5 festmachen. Wenn ich das SQL-Statement auf MYSQL5 ausprobiere, bekomme ich den selben Fehler, auf MYSQL4.1 nicht.

Hast du schon eine Lösung für dieses Problem gefunden?

Verfasst: 22.03.2006 07:52
von Basti2003
Ja, Du musst die Tabellennamen im FROM-Teil einklammern, dann gehts...

Code: Alles auswählen

FROM (phpbb_topics t, phpbb_posts p) 

Verfasst: 22.03.2006 09:09
von reinsle
Hy,

funktioniert, danke.

Verfasst: 05.09.2006 21:34
von EwaldB
Hallo

Könnte mir vielleicht auch jemand bitte weiterhelfen?

Erhalte folgende Meldung:

Code: Alles auswählen

Could not obtain main information

DEBUG MODE

SQL Error : 1054 Unknown column 't.topic_poster' in 'on clause'

SELECT from_unixtime(p.post_time, '%d.%m.%y %H:%i:%s') as topic_time, f.forum_name as forum_name, f.forum_id as forum_id, u.username as username, u2.username as username2, u2.user_id as user_id2, p.poster_id as poster_id, p.post_username as post_username, p.post_id as post_id, t.*, p.post_time as post_time FROM phpbb_topics t, phpbb_posts p LEFT OUTER JOIN phpbb_forums f on p.forum_id = f.forum_id LEFT OUTER JOIN phpbb_users u on p.poster_id = u.user_id LEFT OUTER JOIN phpbb_users u2 on u2.user_id = t.topic_poster WHERE t.topic_id IN (4, 5, 6, 7, ....usw....., 6165) AND p.post_id = t.topic_last_post_id AND UNIX_TIMESTAMP(NOW()) - p.post_time < 86400 ORDER BY p.post_time desc LIMIT 0, 50

Line : 119
File : recent.php
 
Vielen herzlichen Dank im Voraus

Verfasst: 09.09.2006 09:56
von EwaldB
Ich bitte nochmal um Hilfe. Wäre nett, wenn zumindest eine Antwort kommt
Danke

Verfasst: 10.09.2006 18:43
von EwaldB
Dank an Markus67 für die Antwort!
suche in der recent.php
Code:
FROM ".TOPICS_TABLE." t, ".POSTS_TABLE." p

ersetze mit:
Code:
FROM (". TOPICS_TABLE ." t, ". POSTS_TABLE ." p)

Verfasst: 27.10.2006 05:07
von Paradise
also ich hab das mit den Klammern auch gemacht, aber bekomm nur:

Code: Alles auswählen

could not obtain main information.

DEBUG MODE

SQL Error : 1064 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 'FROM_UNIXTIME(p.post_time,'%Y%m%d') - FROM_UNIXTIME(unix_timestamp(NOW()),'%Y%m%' at line 7

SELECT t.*, p.poster_id, p.post_username AS last_poster_name, p.post_id, p.post_time, f.forum_name, f.forum_id, u.username AS last_poster, u.user_id AS last_poster_id, u2.username AS first_poster, u2.user_id AS first_poster_id, p2.post_username AS first_poster_name FROM (orion_topics t, orion_posts p) LEFT OUTER JOIN orion_posts p2 ON p2.post_id = t.topic_first_post_id LEFT OUTER JOIN orion_forums f ON p.forum_id = f.forum_id LEFT OUTER JOIN orion_users u ON p.poster_id = u.user_id LEFT OUTER JOIN orion_users u2 ON u2.user_id = t.topic_poster WHERE t.forum_id NOT IN (8) AND p.post_id = t.topic_last_post_id FROM_UNIXTIME(p.post_time,'%Y%m%d') - FROM_UNIXTIME(unix_timestamp(NOW()),'%Y%m%d') = 0 ORDER BY t.topic_last_post_id DESC LIMIT 0, 10

Line : 127
File : recent.php