Seite 1 von 2

Probleme mit PNs

Verfasst: 21.07.2006 12:59
von Killer-Man
In meinem Forum können keine PNs mehr verschickt werden. Es kommt immer diese Fehlermeldung:

Code: Alles auswählen

Could not query private message 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 'SELECT COUNT(pm.privmsgs_id) as inbox_count FROM phpbb_pri

SELECT * FROM ( SELECT COUNT(pm.privmsgs_id) as inbox_count FROM phpbb_privmsgs AS pm WHERE pm.privmsgs_to_userid = 2 AND ( pm.privmsgs_type = 1 OR pm.privmsgs_type = 0 OR privmsgs_type = 5 ) ) AS inbox, ( SELECT COUNT(pm.privmsgs_id) as outbox_count FROM phpbb_privmsgs AS pm WHERE pm.privmsgs_from_userid = 2 AND ( pm.privmsgs_type = 1 OR privmsgs_type = 5 ) ) AS outbox, ( SELECT COUNT(pm.privmsgs_id) as sentbox_count FROM phpbb_privmsgs AS pm WHERE pm.privmsgs_from_userid = 2 AND ( pm.privmsgs_type = 2 ) ) AS sentbox, ( SELECT COUNT(pm.privmsgs_id) as savebox_count FROM phpbb_privmsgs AS pm WHERE ( pm.privmsgs_from_userid = 2 AND pm.privmsgs_type = 4 ) OR ( pm.privmsgs_to_userid = 2 AND pm.privmsgs_type = 3 ) ) AS savebox

Line : 171
File : privmsg.php
Ich denke, dass es an dem Override PM Limits Mod liegt! So wie es aussieht bezieht sich Zeile 171 auf den ersten Installationsschritt:

Code: Alles auswählen

-----[ OPEN ]-----------------------------------------
#
privmsg.php

#
#-----[ FIND ]-----------------------------------------
#
// ----------
// Start main
//

#
#-----[ BEFORE, ADD ]-----------------------------------
#
// +Override PM Limits
$folder_count_sql = "SELECT * FROM
(
    SELECT COUNT(pm.privmsgs_id) as inbox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE pm.privmsgs_to_userid = {$userdata['user_id']}
        AND (
            pm.privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
            OR pm.privmsgs_type = " . PRIVMSGS_READ_MAIL . "
            OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "
        )
) AS inbox,
(
    SELECT COUNT(pm.privmsgs_id) as outbox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE pm.privmsgs_from_userid = {$userdata['user_id']}
        AND ( pm.privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
            OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )
) AS outbox,
(
    SELECT COUNT(pm.privmsgs_id) as sentbox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE pm.privmsgs_from_userid = {$userdata['user_id']}
        AND ( pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL . " )
) AS sentbox,
(
    SELECT COUNT(pm.privmsgs_id) as savebox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE (
        pm.privmsgs_from_userid = {$userdata['user_id']}
        AND pm.privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . "
    ) OR (
        pm.privmsgs_to_userid = {$userdata['user_id']}
        AND pm.privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . "
    )
) AS savebox";

if ( !($result = $db->sql_query($folder_count_sql)) )
{
    message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $folder_count_sql);
}

$folder_counts = $db->sql_fetchrow($result);

$template->assign_vars(array(
    'INBOX_TOTAL' => $folder_counts['inbox_count'],
    'SAVEBOX_TOTAL' => $folder_counts['savebox_count'],
    'SENTBOX_TOTAL' => $folder_counts['sentbox_count'],
    'OUTBOX_TOTAL' => $folder_counts['outbox_count'])
);
// -Override PM Limits
Aber ich hab alles ordnungsgemäß editiert:

Code: Alles auswählen

// +Override PM Limits
$folder_count_sql = "SELECT * FROM
(
    SELECT COUNT(pm.privmsgs_id) as inbox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE pm.privmsgs_to_userid = {$userdata['user_id']}
        AND (
            pm.privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
            OR pm.privmsgs_type = " . PRIVMSGS_READ_MAIL . "
            OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . "
        )
) AS inbox,
(
    SELECT COUNT(pm.privmsgs_id) as outbox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE pm.privmsgs_from_userid = {$userdata['user_id']}
        AND ( pm.privmsgs_type = " . PRIVMSGS_NEW_MAIL . "
            OR privmsgs_type = " . PRIVMSGS_UNREAD_MAIL . " )
) AS outbox,
(
    SELECT COUNT(pm.privmsgs_id) as sentbox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE pm.privmsgs_from_userid = {$userdata['user_id']}
        AND ( pm.privmsgs_type = " . PRIVMSGS_SENT_MAIL . " )
) AS sentbox,
(
    SELECT COUNT(pm.privmsgs_id) as savebox_count
    FROM " . PRIVMSGS_TABLE . " AS pm
    WHERE (
        pm.privmsgs_from_userid = {$userdata['user_id']}
        AND pm.privmsgs_type = " . PRIVMSGS_SAVED_OUT_MAIL . "
    ) OR (
        pm.privmsgs_to_userid = {$userdata['user_id']}
        AND pm.privmsgs_type = " . PRIVMSGS_SAVED_IN_MAIL . "
    )
) AS savebox";

if ( !($result = $db->sql_query($folder_count_sql)) )
{
    message_die(GENERAL_ERROR, 'Could not query private message information', '', __LINE__, __FILE__, $folder_count_sql);
}

$folder_counts = $db->sql_fetchrow($result);

$template->assign_vars(array(
    'INBOX_TOTAL' => $folder_counts['inbox_count'],
    'SAVEBOX_TOTAL' => $folder_counts['savebox_count'],
    'SENTBOX_TOTAL' => $folder_counts['sentbox_count'],
    'OUTBOX_TOTAL' => $folder_counts['outbox_count'])
);
// -Override PM Limits
// ----------
// Start main
//
Kann mir jemand sagen was ich machen muss?

Verfasst: 21.07.2006 13:50
von Markus67
Hi ...

woher hast du den MOD?

Markus

Verfasst: 21.07.2006 14:16
von Killer-Man
von HIER


hier die Installations.txt



Gleiche Frage: Was muss ich da machen?

Verfasst: 21.07.2006 15:31
von Markus67
Hi ...

kannst du mal bitte die komplette privmsgs.php als txt-Datei verlinken.
KB:datei

Markus

Verfasst: 21.07.2006 16:19
von Killer-Man
Hier -> privmsg.php (schon editiert)

Verfasst: 22.07.2006 10:53
von Killer-Man
Kann mir denn keiner weiterhelfen?

(man kann sich sicher vorstellen wie blöd es ist, wenn keiner PNs verschicken kann...)

Verfasst: 23.07.2006 10:17
von h-o
Hmm, die Codeteile sind in der Tat korrekt eingebaut. Allerdings steht ja in der Fehlermeldung:
Killer-Man hat geschrieben:SELECT * FROM ( SELECT COUNT(pm.privmsgs_id)
Und in der Installationsanleitung ist vermerkt:
## Author Notes:
## NOTE: Currently only supports DBMSes that support
## subqueries!! For MySQL, that's 4.1+.
## [...]
## MOD History:
##
## 2006-06-05
## Version 1.0.4
##[...]
## - Temporarily marking MOD as MySQL 4.1+ only (as
## it uses subqueries).
## Will be updated in a future version!
Sonntagsfrage: Welche MySQL-Version hast du? :-)

Verfasst: 23.07.2006 11:57
von Killer-Man
Wie bekomme ich das raus?
Ich bin mal in meine SQL Datenbank gegangen. Da stand: Verbunden mit MySQL 4.0.26-log auf localhost als ...

Ist es das?

Verfasst: 23.07.2006 12:32
von h-o
Killer-Man hat geschrieben:Verbunden mit MySQL 4.0.26-log auf localhost als ...

Ist es das?
Ja, das isses :D

Verfasst: 23.07.2006 12:52
von Killer-Man
Kannst du mir dadurch weiterhelfen?