Página 1 de 1

Error SQL Knowledege Base

Publicado: 24 Sep 2010, 16:31
por Enock
Hola.

Bueno, pues he ido a enviar un nuevo artículo y cuando lo tengo preparado y pincho en "enviar", me tira este error:

Código: Seleccionar todo

Error General
SQL ERROR [ mysqli ]

Column 'topic_status' cannot be null [1048]

SQL

INSERT INTO phpbb3_topics (topic_poster, topic_time, topic_last_view_time, forum_id, icon_id, topic_approved, topic_title, topic_first_poster_name, topic_first_poster_colour, topic_type, topic_time_limit, topic_attachment, topic_status) VALUES (543, 1285338487, 1285338487, '5', 0, 1, '[Nuevo en Biblioteca] Team Speak 3', '*Administracion*', 'EA0000', '2', 0, 0, NULL)

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 2065
CALL: dbal_mysqli->sql_query()

FILE: includes/functions_kb.php
LINE: 478
CALL: submit_post()

FILE: knowledge/kbposting.php
LINE: 194
CALL: activate_article()
No entiendo mucho de base de datos, pero según entiendo, algo falla en la columna "topic_status", lo que no se muy bien es que hacer para solucionarlo.

Un saludo, gracias.

Re: Error SQL Knowledege Base

Publicado: 24 Sep 2010, 16:33
por angelismo
Repara y optimiza las tablas de la bd ,en phpmyadmin.

Re: Error SQL Knowledege Base

Publicado: 24 Sep 2010, 17:49
por Enock
Bueno, he reparado y optimizado y nada, sigue igual.

Me acabo de dar cuenta de otra cosa:

Aunque me haya dado el error, el artículo se ha enviado, pero ha quedado pendiente de aprobación. Pues bien, abro el articulo para aprobarlo y cuando pincho en aprobar, me sale este otro error:

Código: Seleccionar todo

SQL ERROR [ mysqli ]

Column 'topic_status' cannot be null [1048]

SQL

INSERT INTO phpbb3_topics (topic_poster, topic_time, topic_last_view_time, forum_id, icon_id, topic_approved, topic_title, topic_first_poster_name, topic_first_poster_colour, topic_type, topic_time_limit, topic_attachment, topic_status) VALUES (543, 1285343131, 1285343131, '5', 0, 1, '[Nuevo en Biblioteca] Team Speak 3', '*Administracion*', 'EA0000', '2', 0, 0, NULL)

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 2065
CALL: dbal_mysqli->sql_query()

FILE: includes/functions_kb.php
LINE: 478
CALL: submit_post()

FILE: includes/mcp/mcp_kb.php
LINE: 107
CALL: activate_article()

FILE: includes/functions_module.php
LINE: 507
CALL: mcp_kb->main()

FILE: mcp.php
LINE: 249
CALL: p_master->load_active()
Solo cambia algo del "BACKTRACE"

Pero aún hay más, si lo desapruebo, me tira este error:

Código: Seleccionar todo

Error General
SQL ERROR [ mysqli ]

Column 'config_value' cannot be null [1048]

SQL

INSERT INTO phpbb3_config (config_name, config_value, is_dynamic) VALUES ('kb_newest_title', NULL, 0)

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: includes/functions.php
LINE: 157
CALL: dbal_mysqli->sql_query()

FILE: includes/functions_kb.php
LINE: 550
CALL: set_config()

FILE: includes/mcp/mcp_kb.php
LINE: 164
CALL: set_newest_article()

FILE: includes/functions_module.php
LINE: 507
CALL: mcp_kb->main()

FILE: mcp.php
LINE: 249
CALL: p_master->load_active()
este ya es distinto a los otros dos.

He repasado la instalación y no he visto nada, voy a comprobarla otra vez para asegurarme.

Un saludo, gracias.

EDITO:

Bien, me he fijado en una cosa. En un punto de la instalación,te piden modificar el ".includes/constants.php", y una de las modificaciones es agregar esto:

Código: Seleccionar todo

define('KB_ARTICLE_TABLE',        $table_prefix . 'kb_article');
define('KB_CATEGORIE_TABLE',    $table_prefix . 'kb_categorie');
define('KB_CONFIG_TABLE',        $table_prefix . 'kb_config');
define('KB_LOG_TABLE',            $table_prefix . 'kb_changelog');
define('KB_TYPES_TABLE',        $table_prefix . 'kb_types');
define('KB_REPORTS_TABLE',        $table_prefix . 'kb_reports');
define('KB_ARTICLE_DIFF_TABLE',    $table_prefix . 'kb_article_diff');
define('KB_ARTICLE_TRACK_TABLE',    $table_prefix . 'kb_article_track');

define('KB_RATING_TABLE',        $table_prefix . 'kb_rating');
define('KB_FOLDER',                'knowledge');
Puede ser que en la última línea falte el "$table_prefix . "? o no hace falta¿?

Ok, esto último nada, lo he probado y si lo pongo, no funcionan algunas páginas del KB

Re: Error SQL Knowledege Base

Publicado: 24 Sep 2010, 18:14
por Enock
Ok, acabo de repasar las modificaciones de los archivos y está correcto.
Como no sea algo que viene mal en los archivos incluidos......

Alguien sabe que puede ser?

Un saludo, gracias.

Re: Error SQL Knowledege Base

Publicado: 24 Sep 2010, 18:17
por nextgen
Que versión del Knowledege Base tienes instalado? porque yo también tengo instalado esa base pero no tuve esos problemas que mencionas.

Re: Error SQL Knowledege Base

Publicado: 24 Sep 2010, 18:33
por Enock
nextgen escribió:Que versión del Knowledege Base tienes instalado? porque yo también tengo instalado esa base pero no tuve esos problemas que mencionas.
Perdón, se me paso ponerlo.

He instalado la que está aquí: http://www.phpbb-es.com/foro/viewtopic.php?f=75&t=17218

la 0.2.12

Parece ser que el error está si marcas la opción de publicar un mensaje en el foro cuando añades un artículo. He desactivado la opción y no me ha dado error. He buscado en los archivos que creo que están implicados en eso, pero mis conocimientos no me dan para más y no he visto nada.

Aprobecho para comentar otro error que me acabo de dar cuenta. En algunos enlaces, por ejemplo el que te sale cuando publicas, borras, editas..... algo en el KB, ese que es: "click aquí para volver......". Pues el enlace está mal. En vez de enlazar: ".knowledge/index.php", enlaza a: ".knowledge/", con lo cual si pincho me da error, o mejor dicho, me sale la pantalla en blanco y en la pestaña pone "restricted access".

Un saludo, gracias.

Re: Error SQL Knowledege Base

Publicado: 27 Sep 2010, 10:48
por Enock
Alguien puede ayudarme con esto?.

Un saludo, gracias.

Re: Error SQL Knowledege Base

Publicado: 27 Sep 2010, 22:49
por invi
Revisa los campos de la biblioteca en la base de datos y pegalos aqui, si contiene alguno alguna contraseña pon asteriscos porfavor.

Re: Error SQL Knowledege Base

Publicado: 28 Sep 2010, 10:02
por Enock
invi escribió:Revisa los campos de la biblioteca en la base de datos y pegalos aqui, si contiene alguno alguna contraseña pon asteriscos porfavor.
Hola. Gracias por tu atención.

A que te refieres con "campos", ¿a los de la tabla de la base de datos?

Un saludo, gracias.

Re: Error SQL Knowledege Base

Publicado: 28 Sep 2010, 13:04
por Enock
Vale, acabo de comprobar otra cosa.

Unos días antes de instalar este mod, instalé el DM Video (sobre el cual tengo una consulta abierta). Este es practicamente idéntico al OurTube (lo digo porque el DM Video no está ni aquí ni en phpbb.com).

La cuestión es que ese MOD, también tiene un sistema de posteo automático, cuando se libera un nuevo video. Bien, ese sistema me ha funcionado correctamente desde que instalé el MOD, pero ahora que he ido a liberar un video, me tira el mismo error que en el MOD KB. Algo nuevo ha tenido que añadir este mod (KB) para que ahora tampoco me funcione el posteo automático del otro MOD, el cual si funcionaba.

Un saludo, gracias.

EDITO: se me ha ocurrido.... puede ser que tenga algo que ver el MOD "Topic Solved"?

Re: Error SQL Knowledege Base

Publicado: 28 Sep 2010, 13:39
por Enock
Vale, creo que ya he dado con lo que produce ese error.

Creo que es cosa del MOD "Lock New Topic on Submit", ya que te crea un valor nuevo a seleccionar a la hora de crear un mensaje y claro, los códigos de los MODs que se encargan del posteo automático, no tienen implementado en el código el valor para ese valor.

Ahora, solo veo dos opciones, desinstalar ese MOD, ó meter el valor en el código encargado del posteo automático. ¿Alguien sería tan amable de explicarme como hacer esto último?.
Por que, permitir un valor NULL al campo en cuestión, no sería viable, ¿no?

Un saludo, gracias.