Seite 1 von 1

Fehlermeldung nach Installation Smilie Categories

Verfasst: 30.04.2009 13:10
von pebble
Hallo,

ich habe mir den Mod für die Smilie Categorie installiert. Meine Version phpbb3.04... Ich habe das Forum kürzlich konvertiert von Orion zu phpbb3.

In meinem Testforum läuft der Mod perfekt.

In meinem richtigen Forum ist auch alles da, aber wenn ich einen Smilie in eine Kategorie schieben will und auf absenden klicke, bekomme ich diese Fehlermeldung...
Auch wenn ich bloß angebe, ob der Smilie beim verfassen eines Beitrages angezeigt werden soll (ohne Mod geht es problemlos)

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysql4 ]

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 'SELECT smiley_url FROM phpbb_smilies WHERE smiley_id = 43)' at [1064]

SQL

SELECT smiley_id FROM phpbb_smilies WHERE smiley_id <> 43 AND smiley_url = (SELECT smiley_url FROM phpbb_smilies WHERE smiley_id = 43)

BACKTRACE

FILE: includes/db/mysql.php
LINE: 174
CALL: dbal_mysql->sql_error()

FILE: includes/mods/smilies_categories.php
LINE: 123
CALL: dbal_mysql->sql_query()

FILE: includes/acp/acp_icons.php
LINE: 462
CALL: update_smiley_categories()

FILE: includes/functions_module.php
LINE: 507
CALL: acp_icons->main()

FILE: adm/index.php
LINE: 74
CALL: p_master->load_active()

Re: Fehlermeldung nach Installation Smilie Categories

Verfasst: 30.04.2009 16:08
von oxpus
Ich kenne zwar die MOD nun nicht, aber ich denke, hier hat der Entwickler eine Datenbankversion im Einsatz, die verschachtelte Selects erlaubt.
Deine Datenbank mag das allerdings nicht.

Hast Du mal einen Link zur MOD?
Dann versuche ich mal, das zu ändern.

Re: Fehlermeldung nach Installation Smilie Categories

Verfasst: 30.04.2009 16:38
von pebble
Hallo,

das ist aber nett von dir.

Hier ist der Link: Klick

Re: Fehlermeldung nach Installation Smilie Categories

Verfasst: 30.04.2009 19:02
von oxpus
Okay, versuchs mal so:

Öffne die Datei includes/mods/smilies_categories.php und ersetze die Zeilen

Code: Alles auswählen

		$sql = 'SELECT smiley_id FROM ' . SMILIES_TABLE . '
			WHERE smiley_id <> ' . $smiley_id . '
			AND smiley_url = (SELECT smiley_url FROM ' . SMILIES_TABLE . ' WHERE smiley_id = ' . $smiley_id . ')';
		$result = $db->sql_query($sql);
durch

Code: Alles auswählen

		$sql = 'SELECT smiley_url FROM ' . SMILIES_TABLE . ' WHERE smiley_id = ' . $smiley_id;
		$result = $db->sql_query($sql);
		$row = $db->sql_fetchrow($result);
		$smiley_url = $row['smiley_url'];
		$db->sql_freeresult($result);

		$sql = 'SELECT smiley_id FROM ' . SMILIES_TABLE . '
			WHERE smiley_id <> ' . $smiley_id . "
			AND smiley_url = '$smiley_url'";
Damit wird die geschachtelte Abfrage geteilt, damit sie auch auf älteren Datenbankservern läuft und das Ergebnis sollte dennoch stimmen.

Re: Fehlermeldung nach Installation Smilie Categories

Verfasst: 30.04.2009 19:31
von pebble
Hallo,

was soll ich sagen...

Du bist ein Engel!!! :grin:

Es funktioniert, das ist ja super!

Vielen Dank an dich!!!