Pagina 1 din 1

Eroare de SQL [postgres] !

Scris: 06-Aug-2008, 10:33:06
de SAg
Tocmai am instalat PHPBB. Totul a mers ok pana cand am creat un forum. La intrarea in permisiuni forum mi-a dat urmatoarea eroare:

SQL ERROR [ postgres ]

ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list []

SQL

SELECT DISTINCT u.user_id, u.username FROM phpbb_users u, phpbb_acl_users a WHERE u.user_id = a.user_id AND a.forum_id = 3 AND (a.auth_option_id IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30) OR a.auth_role_id IN (14, 15, 16, 17, 18, 19, 20, 21, 22)) ORDER BY u.username_clean, u.user_regdate ASC

BACKTRACE

FILE: includes/db/postgres.php
LINE: 177
CALL: dbal->sql_error()

FILE: includes/acp/acp_permissions.php
LINE: 1165
CALL: dbal_postgres->sql_query()

FILE: includes/acp/acp_permissions.php
LINE: 399
CALL: acp_permissions->retrieve_defined_user_groups()

FILE: includes/functions_module.php
LINE: 471
CALL: acp_permissions->main()

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


Oare am configurat ceva gresit?

Scris: 06-Aug-2008, 10:39:00
de Rikonen
Verifica baza mysql!

Scris: 06-Aug-2008, 10:51:08
de SAg
PHBB-ul nu l-am instalat pe MySQL ci pe o baza de date Postgres.
De verificat, nu stiu ce sa verific, deoarece eu n-am adaugat/modificat nici un camp, am lasat baza cum a instalat-o PHPBB.

E posibil sa fi gresit cei care au proiectat aceasta cerere SQL?

Am rezolvat!

Scris: 06-Aug-2008, 11:38:22
de SAg
Am luat "taurul de coarne" si am cautat SQL-ul cu pricina.
L-am gasit in includes/acp/acp_permissions.php intre liniile 1159 si 1164 ale fisierului php.
Nu inainte de a face un backup, am modificat la linia 1164:
in loc de "ORDER BY u.username_clean, u.user_regdate ASC" am scris
"ORDER BY u.username, u.user_id ASC".
Apoi totul a mers OK!
Totusi, ma intreb, oare de ce au fost incluse campurile username_clean si user_regdate la ordonare, deoarece ele nu sunt incluse in selectie? Sper sa nu fi stricat altceva cand am modificat php-ul! :?

Scris: 06-Aug-2008, 14:09:24
de dorin
Cdul corect din includes/acp/acp_permissions.php intre liniile 1159 si 1164 este

Cod: Selectaţi tot

$sql = 'SELECT DISTINCT u.user_id, u.username, u.username_clean, u.user_regdate
			FROM ' . USERS_TABLE . ' u, ' . ACL_USERS_TABLE . " a
		WHERE u.user_id = a.user_id
 				$sql_forum_id
 				$sql_where
 			ORDER BY u.username_clean, u.user_regdate ASC";

Multumesc!

Scris: 07-Aug-2008, 11:38:38
de SAg
Multumesc pentru raspuns! :D
M-am gandit si eu la asta, dar mi-a fost teama sa adaug campurile username_clean si user_regdate in selectie deoarece in selectie este declarata instructiunea DISTINCT .
Probabil ca cei care au facut selectia au omis sa introduca si aceste doua campuri in selectie, ceea ce demonstreaza ca sunt si ei oameni 8).
Inca o data multumesc!

Scris: 07-Aug-2008, 14:25:19
de SAg
M-am mai uitat pe internet si am observat ca aceasta problema a fost rezolvata in noua versiune a PHPBB-ului (3.0.2).
Pentru cei care aveti aceeasi problema pe care am avut-o eu, ii sfatuiesc sa descarce pachetul automat de actualizare (Automatic Update Package) de la 3.0.1 la 3.0.2 de la adresa
http://sourceforge.net/project/download ... irror=osdn
Acest pachet va va actualiza fisierele PHPBB-ului la noua versiune. Mai multe detalii despre instalarea acestui pachet la adresa
http://www.cnet.ro/2008/07/27/ghid-de-a ... re-phpbb3/