Seite 1 von 3

seltsamer fehler

Verfasst: 21.05.2004 15:45
von Jack9027
wenn ich auf links gehe kommt ein fehler:

Code: Alles auswählen

SQL Error : 1064 You have an error in your SQL syntax near ') AND t.topic_poster = u.user_id AN' at line 3

SELECT t.*, f.forum_id, f.forum_name, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time FROM phpbb_topics t, phpbb_forums f, phpbb_users u, phpbb_posts p, phpbb_posts p2, phpbb_users u2 WHERE t.topic_id IN () AND t.topic_poster = u.user_id AND f.forum_id = t.forum_id AND p.post_id = t.topic_first_post_id AND p2.post_id = t.topic_last_post_id AND u2.user_id = p2.poster_id ORDER BY t.topic_last_post_id DESC LIMIT 1511

Line : 96
da kommt der fehler aber nicht link

Verfasst: 21.05.2004 16:26
von mr.no-name
Bei mir kommt dieser Fehler nur beim 2. Link, aber nicht beim ersten

Verfasst: 21.05.2004 16:32
von QCO
Bei mir kommt der Fehler bei beiden...

Der Fehler ist, dass in dem Query in beiden Fällen ein WHER t.topic_id IN () steht.

Aber bei IN muss innerhalb der Klammer zwingend wenigstens ein Wert stehen. Wie es dazu jetzt kommt, kann ich dir aber nicht sagen...

Verfasst: 21.05.2004 17:03
von Jack9027
so sieht das aus:

Code: Alles auswählen

$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time 
           FROM ". TOPICS_TABLE ." t, ". FORUMS_TABLE ." f, ". USERS_TABLE ." u, ". POSTS_TABLE ." p, ". POSTS_TABLE ." p2, ". USERS_TABLE ." u2
           WHERE $where_part1 
                      AND f.forum_id = t.forum_id 
                      AND p.post_id = t.topic_first_post_id
                      AND p2.post_id = t.topic_last_post_id
                      AND u2.user_id = p2.poster_id
           ORDER BY t.topic_last_post_id DESC LIMIT $limit";
if ( !$result = $db->sql_query($sql) )
{
        message_die(GENERAL_ERROR, 'Could not obtain main information', '', __LINE__, __FILE__, $sql);
}
das problem tritt nur auf wenn ich die mysql backups von meinem alten forum aufspiel bei einem frisch aufgesetzten phpBB 2.8 funkioniert alles

Verfasst: 21.05.2004 17:08
von QCO
Schon ganz nett, wenn du uns jetzt auch noch verrätst, wie dieses $where_part1 aussieht... :P

Verfasst: 21.05.2004 17:09
von Jack9027
jo des könnt ich vielleicht machen :D

Code: Alles auswählen

$where_part1 = ( $special_forums == '0' ) ? 't.topic_id IN ('.$auth_results.')' : 'f.forum_id IN ('.$forums.')';
steht auch im recent topic mod von acid :wink:

Verfasst: 21.05.2004 17:12
von Pyramide
Dann ist entweder $auth_results oder $forums leer :roll:

Verfasst: 21.05.2004 17:13
von Jack9027
und was soll ich dagegen machen? :wink:

Verfasst: 21.05.2004 17:17
von Pyramide
Die Variablen mit sinnvollem Inhalt füllen oder sie aus der Where-Bedingung rausnehmen...

Verfasst: 21.05.2004 17:19
von Jack9027
ich hab da an der sql anfrage nichts verstellt.
link