phpBB2.de Foren-Übersicht  
[netclusive - internet broadcasting]
 FAQ  •  Suchen  •  Download  •  Lesezeichen  •  Mitgliederliste  •  Benutzergruppen   •  Registrieren  •  Profil  •  Einloggen, um private Nachrichten zu lesen  •  Login
 
        
 
        
 

LinkLift

Nächstes Thema anzeigen
Vorheriges Thema anzeigen

Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.
Autor Nachricht
JasonLucas
phpBB2.de User
phpBB2.de User



Anmeldungsdatum: 01.09.2002
Beiträge: 150

BeitragVerfasst am: Mo 09 Dez, 2002 20:57 Antworten mit ZitatNach oben 

Hi,
ich habe ein kleines Problem mit einem SQL Query:

Code:
$sql = 'SELECT  b.buddy_name, b.buddy_id, b.user_id, b.added,
                                u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website,
                        IF(s.session_user_id <> "","true","false") AS is_online, count(*) AS total
                        FROM ' . BUDDYLIST_TABLE . ' b, ' . USERS_TABLE . ' u
                        LEFT OUTER JOIN '.SESSIONS_TABLE.' s ON b.buddy_id = s.session_user_id AND s.session_time >= '.( time() - 300 ) . '
                        WHERE b.buddy_id = u.user_id AND b.user_id = ' . $user_id . '
                        ORDER BY b.added
                        LIMIT $start, ' . $board_config['topics_per_page'];


Ich bekomme immer diese fehlermeldung:

Code:
Error getting buddy listing

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near '$start, 50' at line 8

SELECT b.buddy_name, b.buddy_id, b.user_id, b.added, u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website, IF(s.session_user_id <> "","true","false") AS is_online, count(*) AS total FROM phpbb_buddylist b, phpbb_users u LEFT OUTER JOIN phpbb_sessions s ON b.buddy_id = s.session_user_id AND s.session_time >= 1039376827 WHERE b.buddy_id = u.user_id AND b.user_id = 2 ORDER BY b.added LIMIT $start, 50

Line : 227
File : /is/htdocs/board/buddylist.php


Woran kann das liegen??

Ich bin für jeden tip dankbar!!

Grüße Jason
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden
Google







Verfasst am: Nach oben

TerraTux
Support Team Member
Support Team Member



Anmeldungsdatum: 02.08.2002
Beiträge: 1026
Wohnort: Delitzsch

BeitragVerfasst am: Di 10 Dez, 2002 10:29 Antworten mit ZitatNach oben 

Versuch es mal damit:


Code:

$sql = "SELECT b.buddy_name, b.buddy_id, b.user_id, b.added, u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website,
   IF (s.session_user_id <> '',true,false)
   AS is_online, count(*) AS total FROM ". BUDDYLIST_TABLE ." b, ". USERS_TABLE ." u
   LEFT OUTER JOIN ".SESSIONS_TABLE." s ON b.buddy_id = s.session_user_id AND s.session_time >= '". ( time() - 300 ) ."'
   WHERE b.buddy_id = u.user_id AND b.user_id = '". $user_id ."'
   ORDER BY b.added LIMIT $start, '". $board_config['topics_per_page'] ."'";


Weiterhin, ist $user_id der Inhaber der Buddylist selber oder? Also DU für DEINE Buddylist? Muß es dann nicht $userdata['user_id'] sein ??

Gruß
Anti M&M

_________________
software is like sex, it's better if it's free
Image
Kein Support per PM || EMail || Messenger
OfflineBenutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
JasonLucas
phpBB2.de User
phpBB2.de User



Anmeldungsdatum: 01.09.2002
Beiträge: 150

BeitragVerfasst am: Di 10 Dez, 2002 17:44 Antworten mit ZitatNach oben 

Danke aber habs gestern abend noch hinbekommen (es fehlten bei $start die Single Quotes) diese fehlermeldung ist jetzt weg aber dafür kommt nu ne andere

Zitat:
SQL Error : 1140 Mixing of GROUP columns (MIN(),MAX(),COUNT()...) with no GROUP columns is illegal if there is no GROUP BY clause

SELECT b.buddy_name, b.buddy_id, b.user_id, b.added, u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website, IF(s.session_user_id <> "","true","false") AS is_online, count(*) AS total FROM phpbb_buddylist b, phpbb_users u LEFT OUTER JOIN phpbb_sessions s ON b.buddy_id = s.session_user_id AND s.session_time >= 1039460483 WHERE b.buddy_id = u.user_id AND b.user_id = 2 ORDER BY b.added LIMIT 0, 50

Line : 225
File : /is/htdocs/board/buddylist.php


Das Query sieht jetzt so aus:

Code:
$sql = 'SELECT  b.buddy_name, b.buddy_id, b.user_id, b.added,
                                u.user_msnm, u.user_yim, u.user_aim, u.user_email, u.user_viewemail, u.user_icq, u.user_website,
                        IF(s.session_user_id <> "","true","false") AS is_online, count(*) AS total
                        FROM ' . BUDDYLIST_TABLE . ' b, ' . USERS_TABLE . ' u
                        LEFT OUTER JOIN '.SESSIONS_TABLE.' s ON b.buddy_id = s.session_user_id AND s.session_time >= '.( time() - 300 ) . '
                        WHERE b.buddy_id = u.user_id AND b.user_id = ' . $user_id . '
                        ORDER BY b.added
                        LIMIT ' . $start . ', ' . $board_config['topics_per_page'];


Bin weiterhin für tipps dankbar Razz

Grüße Jason

BTW: @ Anti M&M das $user_data['user_id'] brauchte ich schon mehrmals im script daher hab ichs als $user definiert Smile
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden
TerraTux
Support Team Member
Support Team Member



Anmeldungsdatum: 02.08.2002
Beiträge: 1026
Wohnort: Delitzsch

BeitragVerfasst am: Di 10 Dez, 2002 18:07 Antworten mit ZitatNach oben 

aehm...erstmal zu $userdata, sobald du das Board betritts, wird $userdata mit DEINEN Daten gefüllt (im eingeloggten Zustand)

Beschreiben solltest Du dieses Array nicht. Deswegen meinte ich das vorhin, du kannst als o in JEDEM Script, von ÜBERALL benutzerspezifische Daten abrufen, so auch die Buddylist des Besuchers. In dem Falle auch kein Problem da MEINE Buddylist auch NUR für MICH ersichtlich ist.

Ich wundere mich eh über die meterlange SQL-Query...
meine ist:

Code:
SELECT b.buddy_id, b.user_id, u.user_id, u.username FROM ". BUDDY_TABLE ." b, ". USER_TABLE ." u WHERE b.buddy_id = u.user_id AND u.user_id = '". $userdata['user_id'] ."' ORDER BY u.username ASC";


Der Fehler den Du jetzt hast, kommt sicherlich daher das die USER_TABLE bereits SQL-Seitig gruppiert ist, und Du versuchst die Daten neugruppiert abzurufen.

Vielleicht hilft es wenn Du:

Code:

, count(*) AS total


mal komplett wegläßt, die Anzahl bekommst Du auch mit mysql_num_rows() herraus.

Gruß

_________________
software is like sex, it's better if it's free
Image
Kein Support per PM || EMail || Messenger
OfflineBenutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
JasonLucas
phpBB2.de User
phpBB2.de User



Anmeldungsdatum: 01.09.2002
Beiträge: 150

BeitragVerfasst am: Di 10 Dez, 2002 19:49 Antworten mit ZitatNach oben 

Anti M&M hat folgendes geschrieben:


Ich wundere mich eh über die meterlange SQL-Query...
meine ist:

Code:
SELECT b.buddy_id, b.user_id, u.user_id, u.username FROM ". BUDDY_TABLE ." b, ". USER_TABLE ." u WHERE b.buddy_id = u.user_id AND u.user_id = '". $userdata['user_id'] ."' ORDER BY u.username ASC";




Ich nehme mal an das liegt daran das ich mir ( Mit Hilfe von Fabro ) selbst eine Buddyliste zusammengebastelt habe Wink

Zitat:

Der Fehler den Du jetzt hast, kommt sicherlich daher das die USER_TABLE bereits SQL-Seitig gruppiert ist, und Du versuchst die Daten neugruppiert abzurufen.

Vielleicht hilft es wenn Du:

Code:

, count(*) AS total


mal komplett wegläßt, die Anzahl bekommst Du auch mit mysql_num_rows() herraus.


Ich nehm an du meinst sql_numrows() werds mal probieren wenns net klappt meld ich mich nochmal hier wenn ich darf Rolling Eyes

Grüße Jason
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden
TerraTux
Support Team Member
Support Team Member



Anmeldungsdatum: 02.08.2002
Beiträge: 1026
Wohnort: Delitzsch

BeitragVerfasst am: Di 10 Dez, 2002 20:47 Antworten mit ZitatNach oben 

1. Quote) ich habe mein Portal selber geschrieben, INKL. einer Buddylist (habe lediglich die Sessionverwaltung, die EmailKlasse, und das Templatesystem übernommen)

2.) mysql_num_rows() ist die originale PHP-Syntax
sql_numrows ist eine function aus der zu phpBB gehörenden DB-Class, die nutz ich nicht, von daher kenn ich auch nicht dessen Funktionen...

Genau...probieren geht über studieren *g*

Gruß,
Anti M&M

_________________
software is like sex, it's better if it's free
Image
Kein Support per PM || EMail || Messenger
OfflineBenutzer-Profile anzeigenPrivate Nachricht sendenWebsite dieses Benutzers besuchenICQ-Nummer
Beiträge der letzten Zeit anzeigen:      
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen

Ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
kb_mod Install Probleme baba_n phpBB2.x - MOD Support 1 Do 02 Apr, 2009 07:39 Letzten Beitrag anzeigen
Probleme mit bbcode Parser - Merkwürd... pordox phpBB2.x - Support 2 Fr 27 März, 2009 20:09 Letzten Beitrag anzeigen
wbb auf phpbb2.023 auf phpBB-3.0.4 mö... Torsten68 phpBB2.x - Diskussion 1 Mi 25 März, 2009 21:51 Letzten Beitrag anzeigen
Upgrading from phpBB 2.0.22 to 2.0.23 ndiniz Installation / Upgrading 1 Do 12 Feb, 2009 23:08 Letzten Beitrag anzeigen
Login Probleme simo2402 Smalltalk 2 Mi 11 Feb, 2009 14:09 Letzten Beitrag anzeigen