SQL ERROR mysqli 1104
Publicado: 19 Jul 2010, 08:27
Hola chicos. Bueno aparecio este error cuando estaba en el ACP pero no es un tema particular sino haciendo distintas cosas. A veces creando un subforo, a veces limpiando la cache, etc. El tema es que siempre que entro a hacer algo aparece. Si bien no es grave porque el foro anda bien, me gustaria dentro de mis limitaciones de Hosting gratuito, solucionarlo.
Lei por ahi que debia contactarme con el soporte y pedirles que agranden los valores de unas variables y eso hice. Pero me contestaron asi: esas variables no se pueden tocar en el hosting gratis, debes de tener muchos SELECTS o bien porque lo haces tu o bien algo que lo genere. Tambien se puede deber a una falla en el SCRIPT o en la configuracion de tu BD.
La respuesta del mod de ese foro de soporte fue textual la siguiente:
"Hola,
Aparentemente el problema es que tu script esta tratando de hacer un select muy grande.
Probablemente sea debido a alguna modificación o mala configuración del mismo.
En el hosting gratuito la variable SQL_BIG_SELECTS=0 y la variable SQL_MAX_JOIN_SIZE=1000000.
No se pueden modificar dichas variables.
Saludos"
Mi pregunta es: no se puede hacer algo desde afuera para agrandar esas variables? o bien si fuese problema del SCRIPT a que se refiere? porque no llego a comprenderlo.
Bueno le dejo el error en cuestion para que algun craneo lo analice y me de una mano si es posible.
Error General
SQL ERROR [ mysqli ]
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay [1104]
SQL
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o, phpbb_user_group ug, phpbb_groups g, phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id) AND ((a.auth_setting = 0 AND r.auth_setting IS NULL) OR r.auth_setting = 0) AND a.group_id = ug.group_id AND g.group_id = ug.group_id AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1) AND ug.user_id IN (54, 71, 58, 53) AND ug.user_pending = 0 AND o.auth_option LIKE 'm\\_%'BACKTRACE
FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()
FILE: includes/functions_admin.php
LINE: 2387
CALL: dbal_mysqli->sql_query()
FILE: includes/acp/acp_main.php
LINE: 344
CALL: cache_moderators()
FILE: includes/functions_module.php
LINE: 507
CALL: acp_main->main()
FILE: adm/index.php
LINE: 75
CALL: p_master->load_active()
Les mando un saludo y gracias de antemano.
Lei por ahi que debia contactarme con el soporte y pedirles que agranden los valores de unas variables y eso hice. Pero me contestaron asi: esas variables no se pueden tocar en el hosting gratis, debes de tener muchos SELECTS o bien porque lo haces tu o bien algo que lo genere. Tambien se puede deber a una falla en el SCRIPT o en la configuracion de tu BD.
La respuesta del mod de ese foro de soporte fue textual la siguiente:
"Hola,
Aparentemente el problema es que tu script esta tratando de hacer un select muy grande.
Probablemente sea debido a alguna modificación o mala configuración del mismo.
En el hosting gratuito la variable SQL_BIG_SELECTS=0 y la variable SQL_MAX_JOIN_SIZE=1000000.
No se pueden modificar dichas variables.
Saludos"
Mi pregunta es: no se puede hacer algo desde afuera para agrandar esas variables? o bien si fuese problema del SCRIPT a que se refiere? porque no llego a comprenderlo.
Bueno le dejo el error en cuestion para que algun craneo lo analice y me de una mano si es posible.
Error General
SQL ERROR [ mysqli ]
The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is okay [1104]
SQL
SELECT a.forum_id, ug.user_id, g.group_id FROM (phpbb_acl_options o, phpbb_user_group ug, phpbb_groups g, phpbb_acl_groups a) LEFT JOIN phpbb_acl_roles_data r ON (a.auth_role_id = r.role_id) WHERE (o.auth_option_id = a.auth_option_id OR o.auth_option_id = r.auth_option_id) AND ((a.auth_setting = 0 AND r.auth_setting IS NULL) OR r.auth_setting = 0) AND a.group_id = ug.group_id AND g.group_id = ug.group_id AND NOT (ug.group_leader = 1 AND g.group_skip_auth = 1) AND ug.user_id IN (54, 71, 58, 53) AND ug.user_pending = 0 AND o.auth_option LIKE 'm\\_%'BACKTRACE
FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()
FILE: includes/functions_admin.php
LINE: 2387
CALL: dbal_mysqli->sql_query()
FILE: includes/acp/acp_main.php
LINE: 344
CALL: cache_moderators()
FILE: includes/functions_module.php
LINE: 507
CALL: acp_main->main()
FILE: adm/index.php
LINE: 75
CALL: p_master->load_active()
Les mando un saludo y gracias de antemano.