Página 1 de 1

Nadie Puede Registrarse - Problema Del SQL -

Publicado: 29 Jul 2008, 20:17
por Juanla
pues la cosa está en que instale el Mod Thanks 4.0 para PHPBB3 y todo funcionaba correctamente, pero invite a algunos usuarios y me dijeron que no podían registrarse, entonces probando no pude y vi que el error que me daba era el siguiente:

Error General
SQL ERROR [ mysql4 ]

Field 'user_thanked' doesn't have a default value [1364]

Ocurrió un error SQL mientras recuperaba esta página. Por favor contacte con La Administración del Sitio si el problema persiste.


Lo de user_tanked me dio pensar ke el problema era por el mod, intente solucionarlo retocando un poco la tabla (añadiendo unos indices, que me aconsejaron) pero nada, y decidí desinstalarlo de momento, pues lo deje tal y como estaba y limpie la caché y borre la tabla sql, pero el foro sigue igual, y no se porque no se puede, no tengo muchos conocimientos de esto, pero aver...
Los datos de soporte estan en la firma.

Encontré esto, espero que sirva para que me ayuden.
Old Codes en thanks.php

Código: Seleccionar todo

  $sql = 'ALTER TABLE `' . $ sql = "ALTER TABLE` '. USERS_TABLE . USERS_TABLE. '` ADD `user_thanked` INT NOT NULL ;'; ' `ADD` user_thanked `INT NOT NULL;»;
    $db->sql_query($sql); $ db-> sql_query ($ sql);
    $sql = 'ALTER TABLE `' . $ sql = "ALTER TABLE` '. USERS_TABLE . USERS_TABLE. '` ADD `user_thanked_others` INT NOT NULL ;'; ' `ADD` user_thanked_others `INT NOT NULL;»;
    $db->sql_query($sql); $ db-> sql_query ($ sql); 

Nuevo Código es

Código: Seleccionar todo

$sql = 'ALTER TABLE `' . $ sql = "ALTER TABLE` '. USERS_TABLE . USERS_TABLE. '` ADD `user_thanked` INT NOT NULL DEFAULT 0 ;'; ' `ADD` user_thanked `INT NOT NULL DEFAULT 0;»;
    $db->sql_query($sql); $ db-> sql_query ($ sql);
    $sql = 'ALTER TABLE `' . $ sql = "ALTER TABLE` '. USERS_TABLE . USERS_TABLE. '` ADD `user_thanked_others` INT NOT NULL DEFAULT 0 ;'; ' `ADD` user_thanked_others `INT NOT NULL DEFAULT 0;»;
    $db->sql_query($sql); $ db-> sql_query ($ sql); 
Creo que haciendo esto esta todo bien pero no se como, espero que me ayuden.. aki dejo una captura de mi tabla SQL
Spoiler
Imagen

Re: Nadie Puede Registrarse - Problema Del SQL -

Publicado: 31 Jul 2008, 17:33
por mitch
Juanla, de donde bajaste el MOD?

el MOD debe haber indicado en su instalación, de ejecutar alguna consulta SQL, o haberte dicho que ejecutes algun archivo que actualize la BD.
O tal vez, editaste mal los archivos que te pedía editar el MOD (cuidado con los after y befores). El error que citas, apunta directamente a eso... la página de registro intenta hacer algo en la BD, pero no encuentra los datos del MOD en la BD.

Eso de andar "toqueteando" en la BD a mano, sin saber, no me parece... puedes cargarte el foro.

Re: Nadie Puede Registrarse - Problema Del SQL -

Publicado: 28 Ago 2008, 19:55
por Juanla
Si, ya lo solucioné, el MOD tenía un Bug, era que había que dar el valor 0 a dos tablas, y listo, era poca cosa, pero tube que leerme 25 páginas de un foro (por encima) en inglés para dar con el problema

Re: Nadie Puede Registrarse - Problema Del SQL -

Publicado: 14 Oct 2008, 23:46
por Suicida
Esto, espero no molestar, pero ya que lo solucionaste, "tengo exactamente el mismo problema" donde añadistes esos ceros?

Es que yo tengo la base de datos igual que la imagen que pusiste.

Saludos.

Re: Nadie Puede Registrarse - Problema Del SQL -

Publicado: 25 Oct 2009, 17:54
por Dolls
Juanla escribió:Si, ya lo solucioné, el MOD tenía un Bug, era que había que dar el valor 0 a dos tablas, y listo, era poca cosa, pero tube que leerme 25 páginas de un foro (por encima) en inglés para dar con el problema
podrias decir donde pusiste los ceros ya que tengo el mismo problema y no lo he solucionado espero tu ayuda

Re: Nadie Puede Registrarse - Problema Del SQL -

Publicado: 26 Oct 2009, 00:21
por HuanManwe
en vez de aplicar las sentencias de arriba aplicar las de abajo, que incluyen el "DEFAULT 0", porque lo que hace es que añade dos nuevos campos a la tabla, y pide específicamente que tengan algún valor; pero no les da un valor por defecto. Eso es corregido en la versión de abajo, la segunda, ya que por defecto les da valor de 0.