Página 1 de 2

error SQL sin tocar nada

Publicado: 08 Mar 2013, 20:21
por Enock
Hola.

Pues de repente, hoy al identificarme en el foro me tira este error SQL:
Error General
SQL ERROR [ mysqli ]

'data01_onlinewii_unityweb_es.p.image_filename' isn't in GROUP BY [1055]

SQL

SELECT p.*, u.user_id, u.username, u.user_colour, r.rate_image_id, AVG(r.rate_point) AS rating, COUNT(DISTINCT c.comment_id) AS comments FROM phpbb3_gallery_images AS p LEFT JOIN phpbb3_users AS u ON p.image_user_id = u.user_id LEFT JOIN phpbb3_gallery_albums AS ct ON p.image_album_id = ct.album_id LEFT JOIN phpbb3_gallery_rates AS r ON p.image_id = r.rate_image_id LEFT JOIN phpbb3_gallery_comments AS c ON p.image_id = c.comment_image_id WHERE ((image_album_id IN ('29', '28', '25', '1', '22'))) AND ( p.image_status = 1) GROUP BY p.image_id ORDER BY RAND() LIMIT 4

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 758
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/portal/block/center_gallery_random_picsonly_body.php
LINE: 105
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/portal/includes/index_blocks.php
LINE: 59
CALL: include_once('[ROOT]/portal/block/center_gallery_random_picsonly_body.php')

FILE: [ROOT]/index.php
LINE: 547
CALL: include_once('[ROOT]/portal/includes/index_blocks.php')
No se ha tocado nada y de repente tira este error. ¿Alguien podría iluminarme?

Un saludo, gracias.

Re: error SQL sin tocar nada

Publicado: 08 Mar 2013, 22:27
por ThE KuKa
¿Has probado de analizar, reparar y optimizar las tablas del foro?

Re: error SQL sin tocar nada

Publicado: 08 Mar 2013, 22:35
por Enock
ThE KuKa escribió:¿Has probado de analizar, reparar y optimizar las tablas del foro?
Si, pero sigue igual. :(


EDITO: me he dado cuenta de una cosa; cuando intento reparar la tabla "phpbb3_log", me tira el siguiente error:
Proxy Error

The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request POST /phpmyadmin/db_structure.php.

Reason: Error reading from remote server
Sin embargo, con el resto de tablas de la base de datos no da error alguno. :?:

EDITO 2: Bueno, el error solo sale en el índice, por lo que entrando por el portal www.onlinewii.es/foro/portal.php he podido loguearme y entrar en el PDA. Viendo que el error indicaba algo del "Gallery", he probado desactivando el bloque que tenía puesto del MOD Gallery, en el índice, y ya he podido acceder al índice. Pero.....

Navegando por el foro, si intento entrar a algún mensaje, me tira este error:
Error General
SQL ERROR [ mysqli ]

'data01_onlinewii_unityweb_es.f.forum_id' isn't in GROUP BY [1055]

SQL

SELECT f.*, t.*, u.user_id, u.username, u.user_colour FROM (phpbb3_topics t) LEFT JOIN phpbb3_users u ON (u.user_id = t.topic_poster) LEFT JOIN phpbb3_forums f ON (f.forum_id = t.forum_id) WHERE MATCH (t.topic_title) AGAINST ('Antes de nada....' IN BOOLEAN MODE) AND t.topic_status <> 2 AND t.topic_id <> 515 GROUP BY t.topic_id ORDER BY rand() LIMIT 5

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 758
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 182
CALL: dbal->sql_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 224
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/includes/db/dbal.php
LINE: 170
CALL: dbal_mysqli->_sql_query_limit()

FILE: [ROOT]/viewtopic.php
LINE: 2814
CALL: dbal->sql_query_limit()
Gracias.

Re: error SQL sin tocar nada

Publicado: 09 Mar 2013, 17:26
por Alorse
Enock escribió:EDITO: me he dado cuenta de una cosa; cuando intento reparar la tabla "phpbb3_log", me tira el siguiente error:
Pide ayuda a tu servicio de host, ya que el problema al parecer viene desde allí.

Re: error SQL sin tocar nada

Publicado: 09 Mar 2013, 18:12
por Enock
Alorse escribió:
Enock escribió:EDITO: me he dado cuenta de una cosa; cuando intento reparar la tabla "phpbb3_log", me tira el siguiente error:
Pide ayuda a tu servicio de host, ya que el problema al parecer viene desde allí.

Gracias, ya he comentado ese error al hosting.

Por otra parte, el error de SQL que me sigue dando al intentar entrar en cualquier mensaje, ¿alguna idea?.

Un saludo, gracias.

Re: error SQL sin tocar nada

Publicado: 09 Mar 2013, 18:20
por Alorse
Yo creo que todos los errores se deben a lo mismo, si no has tocado nada como lo dijiste, no deberían porque salir.

Re: error SQL sin tocar nada

Publicado: 10 Mar 2013, 08:13
por Enock
Ok, según el hosting, el problema es que, cito:
Hace 5 dias estamos utilizando la sistema de galera cluster en modo seguro, y eso significa que sql que son mal construidos ya no estan permitidos
Y en el "viewtopic.php" hay un código del MOD Similar Topics que está "mal construido", por eso tira el error.

Voy a mirar si tengo la última versión del MOD y actualizarlo si es necesario, para ver si se soluciona. De lo contrario, no se que hacer, ya que no se como dejar bien el código para que no tire error.

Re: error SQL sin tocar nada

Publicado: 11 Mar 2013, 11:06
por Enock
Hola.

Pues bien, he actualizado el MOD "Similar Topics" a la última versión que he encontrado, y sigue dando error.

He "comentado" en el archivo "viewtopic.php" el código de dicho MOD, que es el que hace la consulta que me comentó el hosting, el cual hace que salte error, y funciona sin problemas.

Aquí os dejo el código que he "comentado" en el archivo:

Código: Seleccionar todo

// Begin similar topics
$sql_array = array(
	'SELECT'	=> 'f.forum_id, f.forum_name, t.topic_id, t.topic_title, u.user_id, u.username, u.user_colour, t.topic_replies',

	'FROM'		=> array(
		TOPICS_TABLE	=> 't',
	),

	'LEFT_JOIN'	=> array(
		array(
			'FROM'	=>	array(USERS_TABLE	=> 'u'),
			'ON'	=> 'u.user_id = t.topic_poster'
	),
		array(
			'FROM'	=>	array(FORUMS_TABLE	=> 'f'),
			'ON'	=> 'f.forum_id = t.forum_id'
		),
	),

	'WHERE'		=> "MATCH (t.topic_title) AGAINST ('" . $db->sql_escape($topic_data['topic_title']) . "' ) >= 0.5
		AND t.topic_status <> " . ITEM_MOVED . '
		AND t.topic_id <> ' . (int) $topic_data['topic_id'],

	'GROUP_BY'	=> 't.topic_id',

	'ORDER_BY'	=> 't.topic_last_post_time DESC',
);
$sql = $db->sql_build_query('SELECT', $sql_array);
if ($result = $db->sql_query_limit($sql, 5))
{
	while($similar = $db->sql_fetchrow($result))
	{
		if ($auth->acl_get('f_read', $similar['forum_id']))
		{
			$similar_forum_url	= append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=" . $similar['forum_id']);
			$similar_topic_url	= append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=" . $similar['forum_id'] . '&t=' . $similar['topic_id']);
			$similar_user		= get_username_string('full', $similar['user_id'], $similar['username'], $similar['user_colour'], $similar['username']);

			$template->assign_block_vars('similar', array(
				'TOPIC_TITLE'			=> $similar['topic_title'],
				'U_TOPIC'				=> $similar_topic_url,
				'REPLIES'				=> $similar['topic_replies'],
				'USER'					=> $similar_user,
				'U_FORUM'				=> $similar_forum_url,
				'FORUM'					=> $similar['forum_name'])
			);
		}
	}
}
// End Similar Topics
A ver si alguien que sepa sabe a que se debe.

Por otro lado, he encontrado este otro MOD https://www.phpbb.com/customise/db/mod/ ... topics_ii/ que hace lo mismo, a ver si este no da el error.

Un saludo, gracias.

Re: error SQL sin tocar nada

Publicado: 11 Mar 2013, 14:59
por Alorse
Para mi la consulta esta correctamente construida, la probé ejecutándola directamente en mysql y no mostró ningún error.
Prueba dos cosas:
  1. Ejecuta esta consulta directamente en la base de datos:

    Código: Seleccionar todo

    SELECT f.*, t.*, u.user_id, u.username, u.user_colour FROM (phpbb3_topics t) LEFT JOIN phpbb3_users u ON (u.user_id = t.topic_poster) LEFT JOIN phpbb3_forums f ON (f.forum_id = t.forum_id) WHERE MATCH (t.topic_title) AGAINST ('Antes de nada....' IN BOOLEAN MODE) AND t.topic_status <> 2 AND t.topic_id <> 515 GROUP BY t.topic_id ORDER BY rand() LIMIT 5
    Si se ejecuta sin errores, es porque esta bien construida.
  2. Prueba este MOD en localhost, ya sea en una copia de tu foro (ojala esta) o en un foro nuevo para ver si da errores, si se ejecuta correctamente, es problema de tu hosting y tendríamos que buscar la manera de cambiar la consulta sin el GROUP BY.

Re: error SQL sin tocar nada

Publicado: 11 Mar 2013, 16:37
por Enock
Gracias por probarlo.

Te comento que para probarlo bien debería estar tal y como lo tienen ellos ahora, que según cité arriba es:
Hace 5 dias estamos utilizando la sistema de galera cluster en modo seguro, y eso significa que sql que son mal construidos ya no estan permitidos
Falla la consulta desde que pusieron eso así. No se que es, y tampoco si está bien escrito ya que a veces se lian con las palabras españolas.

Un saludo, gracias.

Re: error SQL sin tocar nada

Publicado: 12 Mar 2013, 01:03
por Alorse
Enock escribió:Te comento que para probarlo bien debería estar tal y como lo tienen ellos ahora, que según cité arriba es:
Pero lo probaste, hiciste el intento?
Si lo hiciste que error te muestra?

Re: error SQL sin tocar nada

Publicado: 12 Mar 2013, 18:50
por Enock
Alorse escribió:
Enock escribió:Te comento que para probarlo bien debería estar tal y como lo tienen ellos ahora, que según cité arriba es:
Pero lo probaste, hiciste el intento?
Si lo hiciste que error te muestra?
No, no he podido probar aun. En cuanto pueda pruebo en local al ver si se poner el mysql tal y como me han dicho que lo tienen.
Lo que si probé fue des instalar el similar topics e instalar el que comento en post anterior, el " precise similar topics", y este no da errores.
Un saludo, gracias.

Re: error SQL sin tocar nada

Publicado: 09 Abr 2013, 09:51
por javiexin
El error proviene del propio código de phpbb. Está documentado en este "bugtracker": http://tracker.phpbb.com/browse/PHPBB3- ... y-tabpanel

Parece que se corregirá en phpbb 3.0.12.

Mientrastanto, yo cambié el modo de búsqueda de Fulltext Native a Fulltext MySQL (creando el índice adecuado), y todo funciona.

Perdón por no haber respondido antes, pero no había visto la pregunta.

Saludos,
-javiexin

Re: error SQL sin tocar nada

Publicado: 09 Abr 2013, 10:34
por Enock
Gracias javiexin, no había caido en preguntarte a ti ya que usamos el mismo hosting e imagino que te pasó lo mismo.

De momento lo he cambiado ya que aunque arreglé uno de los errores, salía en otras partes como en los perfiles.

Un saludo.

Re: error SQL sin tocar nada

Publicado: 09 Abr 2013, 22:44
por invi
Entonces en que queda esto? solucionado? no solucionado? a ver.. porque yo me he perdido :lol: