Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
the_Curse

Forum spinnt

Recommended Posts

hallo

ich kann zwar mein Forum besuchen, auch PNs schreiben oder sonstiges tun, aber kann ich keine Foren ansehen in denen Themen sind, und schon gar keine Themen:

folgende Fehlermeldung erhalte ich wenn ich es dennoch versuche :D

mySQL error: Can't open file: 'ibf_posts.MYI'. (errno: 145)

bei einem direktjump von der Startseite in ein Thema kommt dies:

mySQL query error: SELECT pid FROM ibf_posts WHERE queued <> 1 AND topic_id='120' ORDER BY pid DESC LIMIT 1

mySQL error: Can't open file: 'ibf_posts.MYI'. (errno: 145)

mySQL error code:

Date: Friday 05th of November 2004 02:27:46 PM

und wenn ich normal auf ein forum clicke um alle THemen zu sehen das:

mySQL query error: SELECT DISTINCT(ibf_posts.author_id), ibf_topics.* FROM ibf_topics

LEFT JOIN ibf_posts ON

(ibf_topics.tid=ibf_posts.topic_id AND ibf_posts.author_id=2)

WHERE ibf_topics.forum_id=15

and ibf_topics.approved=1

and (ibf_topics.pinned=1 or ibf_topics.last_post > 0) ORDER BY pinned DESC, last_post DESC LIMIT 0,15

mySQL error: Can't open file: 'ibf_posts.MYI'. (errno: 145)

mySQL error code:

Date: Friday 05th of November 2004 02:29:50 PM

was kann ich tun?

Share this post


Link to post

Hatte ich auch mal und wusste nichts mit anzufangen.

geht so wieder weg:

über phpmyadmin oder sql-toolbox den sql-befehl

REPAIR TABLE ibf_posts;

ausführen, dann sollte es wieder gehen.

Share this post


Link to post

erneut ein Problem:

wenn ich auf "Moderatoren-team" clicke (auf der Hauptseite) um alle mods aufzulisten erscheint diese Fehlermeldung

mySQL query error: SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,

f.id as forum_id, f.read_perms, f.name as forum_name, c.state

FROM ibf_members m, ibf_categories c

LEFT JOIN ibf_moderators mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

WHERE c.id=f.category AND c.state != 0

mySQL error: 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 'mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m

mySQL error code:

Date: Sunday 05th of December 2004 10:12:33 AM

Share this post


Link to post

Abfrage falsch

statt

SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,

f.id as forum_id, f.read_perms, f.name as forum_name, c.state

FROM ibf_members m, ibf_categories c

LEFT JOIN ibf_moderators mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

WHERE c.id=f.category AND c.state != 0

Bitte:

SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,

f.id as forum_id, f.read_perms, f.name as forum_name, c.state

FROM ibf_members m, ibf_categories c, ibf_forums f

LEFT JOIN ibf_moderators mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

WHERE c.id=f.category AND c.state != 0

Hoff das war der einzige Fehler ...

Share this post


Link to post

Wieder mal ein Problem...ich frag mich langsam, was mit dem Forum nicht in Ordnung ist.

Folgende Fehlermeldung:

mySQL query error: SELECT DISTINCT(ibf_posts.author_id), ibf_topics.* FROM ibf_topics

              LEFT JOIN ibf_posts ON

              (ibf_topics.tid=ibf_posts.topic_id AND ibf_posts.author_id=2)

              WHERE ibf_topics.forum_id=7

              and ibf_topics.approved=1

              and (ibf_topics.pinned=1 or ibf_topics.last_post > 1102280923) ORDER BY pinned DESC,  DESC LIMIT 0,15

mySQL error: 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 'DESC LIMIT 0,15' at line 6

mySQL error code: 1064

Date: Tuesday 04th of January 2005 10:08:43 PM

Share this post


Link to post

Ein DESC zuviel drin oder ein Spaltenname zu wenig. :)

Müßte heißen [...]ORDER BY pinned DESC LIMIT 0,15 wenn ein DESC zuviel drin ist.

Share this post


Link to post

in welcher PHP Datei is das nochmal?

Müßte misc/stats.php sein. :)

hab deinen Vorschlag in die Tat umgesetzt, und nun steht dass dafür da wenn ich auf Moderatoren-Team clicke

mySQL query error: SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,

f.id as forum_id, f.read_perms, f.name as forum_name, c.state

FROM ibf_members m, ibf_categories c, ibf_forums f

LEFT JOIN ibf_moderators mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

WHERE c.id=f.category AND c.state != 0

mySQL error: 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 'mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m

mySQL error code: 1064

Date: Thursday 20th of January 2005 07:20:11 PM

Link....

Share this post


Link to post

Wahrscheinlich hast du eine neue MySQL Version und dort ist mod ein Schlüsselwort, falls ich das recht in Erinnerung habe.

Ändere also alle mod in moderator und schon sollte es klappen.

Also aus

LEFT JOIN ibf_moderators mod ON((m.id=mod.member_id or (mod.is_group=1 and mod.group_id=m.mgroup)))
LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)
würde dann
LEFT JOIN ibf_moderators moderator ON((m.id=moderator.member_id or (moderator.is_group=1 and moderator.group_id=m.mgroup)))
LEFT JOIN ibf_forums f ON(f.id=moderator.forum_id)

Share this post


Link to post

wir nähern uns langsam ;)

nu schauts so aus

mySQL query error: SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,

f.id as forum_id, f.read_perms, f.name as forum_name, c.state

FROM ibf_members m, ibf_categories c, ibf_forums f

LEFT JOIN ibf_moderators moderator ON((m.id=moderator.member_id or (moderator.is_group=1 and moderator.group_id=m.mgroup)))

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

WHERE c.id=f.category AND c.state != 0

mySQL error: Not unique table/alias: 'f'

mySQL error code: 1066

Date: Saturday 29th of January 2005 01:44:03 PM

Share this post


Link to post

SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number,
f.id as forum_id, f.read_perms, f.name as forum_name, c.state
FROM ibf_members m, ibf_categories c
LEFT JOIN ibf_moderators moderator ON((m.id=moderator.member_id or (moderator.is_group=1 and moderator.group_id=m.mgroup)))
LEFT JOIN ibf_forums f ON(f.id=moderator.forum_id)
WHERE c.id=f.category AND c.state != 0

Sollte dann klappen.

Share this post


Link to post

Mal ein anderes Problem als Skript und Code Fehler...

Irgendwie werden Beiträge ab einer gewissen Länge nicht mehr "eingelesen" und es kommt dann beim abschicken die Fehlermeldung "Du musst eine Nachricht schreiben"...obwohl eh sauviel Text da ist

die maximale Zeichenbegrenzung kanns nich sein ,denn erstens würde es ja dann in der Fehlermeldung stehen und zweitens hab ich die eh schon auf 9999 kb gestellt!

Das stört doch immens, kann ich das irgendwie beheben? Oder is das ein Forumsbug?

Ich will bei längeren Beiträgen einfach nicht zwei hintereinander posten!

Share this post


Link to post

Hallo Stefan,

zu deinem Post "Wahrscheinlich hast du eine neue MySQL Version und dort ist mod ein Schlüsselwort"

Weist du eigentlich ab welcher Version das auftritt, damit ich schon mal aufmerksam werden kann, wenn ich irgendwas höre, dass mein Hoster ein Update fähren möchte ?

Danke dir

Share this post


Link to post

hmm, da scheinbar keiner weis, ab welcher Version "mod" ein Schlüsselwort in MySQL ist - kann man die Änderungen die Stefan hier im Thread vorgeschlagen hat generell durchführen - oder ist das nicht ratsam bzw. würde Probleme / Fehler geben ? ;)

Share this post


Link to post

So genau hab ich die Entwicklung von MySQL nicht verfolgt, das ich dir bis auf die hunderste Stelle der Versionsnummer sagen kann, wann sich das geändert hat. ;)

Aber ich kann dir sagen, das du die Änderung ohne Probleme vornehmen kannst. Wenn du es richtig machst, werden auch keine Probleme auftreten.

Zum Verständnis, dieses mod. ist nur dafür gedacht, um eine Spalte in einer Tabelle eindeutig zu beschreiben. Soll heißen, wenn du zwei Tabellen hast, die eine Spalte mit dem gleichen Namen haben und du diese per JOIN Befehl zusammenlegst, dann weiß der MySQl Server nicht, welche SPalte du dann haben willst. Um sowas eindeutig zu halten, verwendet man normalerweise den Tabellennamen. Damit man sich den ganzen Tabellennamen sparen kann, nimmt man einfach eine Abkürzung.

Somit wäre

SELECT tabellenname.spaltenname FROM tabellenname

das gleiche wie

SELECT abkürzung.spaltenname FROM tabellenname abkürzung

Wie du jetzt die Abkürzung benennst (im konkreten Beispiel mod bzw. moderator) ist absolut egal, solange du alle Stellen im Statement entsprechend änderst.

Share this post


Link to post

Ach jetzt versteh ich, danke dir :)

LEFT JOIN ibf_moderators moderator ON((m.id=moderator.member_id or (moderator.is_group=1 and moderator.group_id=m.mgroup)))

Bedeuetet z.B. nichts anderes als verwende künftig anstatt dem Tabellennamen ibf_moderators das kürzere Alias "moderator" - oder wie es im original ist "mod". Anstatt den vollen tabellennamen für weitere Abfragen zu verwenden, kann man das Wort moderator oder mod in der Originalversion verwenden um auf ein Feld der Tabelle zuzugreifen

Share this post


Link to post

ich bekomme beim klick auf moderatoren folgenden fehler:

mySQL query error: SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number,

                        f.id as forum_id, f.read_perms, f.name as forum_name, c.state

                 FROM ibf_moderators mod

                   LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

                   LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0)

                   LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id)

                 


mySQL error: 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 'mod

                   LEFT JOIN ibf_forums f ON(f.id=mod.forum_id)

            ' at line 3

mySQL error code: 

Date: Friday 31st of March 2006 04:22:21 PM

gibts dafür auch eine probate lösung?

Share this post


Link to post

Ja! :)

Wie ich hier schon angedeutet hab', liegt's eben an dem "mod".. ;)

=>

sources/misc/stats.php

//--------------------------------------------

// Do we have any moderators? NORMAL MODS 1st

//--------------------------------------------

$DB->query("SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number, f.id as forum_id, f.read_perms, f.name as forum_name, c.state 

FROM ibf_moderators mod 

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id) 

LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0) 

LEFT JOIN ibf_members m2 ON (mod.member_id=m2.id) ");
ersetzen mit
//--------------------------------------------

// Do we have any moderators? NORMAL MODS 1st

//--------------------------------------------

$DB->query("SELECT m2.id, m2.name, m2.email, m2.hide_email, m2.location, m2.aim_name, m2.icq_number, f.id as forum_id, f.read_perms, f.name as forum_name, c.state 

FROM ibf_moderators moderator 

LEFT JOIN ibf_forums f ON(f.id=moderator.forum_id) 

LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0) 

LEFT JOIN ibf_members m2 ON (moderator.member_id=m2.id) ");
und
//--------------------------------------------

// Do we have any moderators? GROUP MODS 1st

//--------------------------------------------    

$DB->query("SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number, f.id as forum_id, f.read_perms, f.name as forum_name, c.state 

FROM ibf_moderators mod 

LEFT JOIN ibf_forums f ON(f.id=mod.forum_id) 

LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0) 

LEFT JOIN ibf_members m ON ((mod.is_group=1 and mod.group_id=m.mgroup)) ");
ersetzen mit
//--------------------------------------------

// Do we have any moderators? GROUP MODS 1st

//--------------------------------------------    

$DB->query("SELECT m.id, m.name, m.email, m.hide_email, m.location, m.aim_name, m.icq_number, f.id as forum_id, f.read_perms, f.name as forum_name, c.state 

FROM ibf_moderators moderator 

LEFT JOIN ibf_forums f ON(f.id=moderator.forum_id) 

LEFT JOIN ibf_categories c ON(c.id=f.category AND c.state != 0) 

LEFT JOIN ibf_members m ON ((moderator.is_group=1 and moderator.group_id=m.mgroup)) ");
Das "mod" wird dabei einfach mit "moderator" ersetzt, wobei die Abkürzung - wie Stefan schon schrieb - egal sein müsste, sofern man sie konsequent beibehält.. :) Wenn Du schon dabei bist, kannst Du ggf. vorsorglich auch gleich die sources/misc/contact_member.php "behandeln":
// Check for mods in this forum 


  $DB->query("SELECT m.name, m.email, mod.member_id FROM ibf_moderators mod, ibf_members m WHERE mod.forum_id='$fid' and mod.member_id=m.id");
ersetzen mit
// Check for mods in this forum 


  $DB->query("SELECT m.name, m.email, moderator.member_id FROM ibf_moderators moderator, ibf_members m WHERE moderator.forum_id='$fid' and moderator.member_id=m.id");

Hoffe, jetzt klappt's.. :)

mfg,

Tom

Edited by TomCrow

Share this post


Link to post

Hallo,

ich habe das problem auch gehabt und gelösst nur habe ich jetzt das problem das keine moderatoren angezeigt werden nach dem ich auf den link das moderatoren team klicke siehe hier

wie kann ich das ändern?

danke schonma im vorraus

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×