WebsiteBaker Support (2.12.x) > Modules

Topics strict problem

(1/10) > >>

dbs:
Hallo, auf einer MariaDB 10.x ist topics nicht mehr zu gebrauchen für neue Einträge.
Wird wohl am STRICT liegen.

Topic hinzufügen gibt zwar grüne Bestätigung, aber von da aus geht es dann nicht weiter bzw man sieht nur noch das Backend Menü. Darunter ist alles weiß.

Wenn bei STRICT und INSERT INTO in der add_topic.php wirklich jedes Feld angegeben werden muss, dann sind die dort vorhandenen 8 Angaben genau 27 zu wenig. Vielleicht hat das aber schon jemand durch gemacht? Oder kennt einen Link zur Lösung?

Gruß
Frank

Gast:

--- Quote ---Wenn bei STRICT und INSERT INTO in der add_topic.php wirklich jedes Feld angegeben werden muss, dann sind die dort vorhandenen 8 Angaben genau 27 zu wenig
--- End quote ---

nicht jedes Feld, "nur" jedes ohne eine default-Definition in der install.php, allerdings verwendet topics ja mehrere Tabellen, so das 27 vielleicht doch hin kommt oder nicht ausreichend ist.

Ich habe hier eine Vers 0.9.4.2, was ist denn aktuell?

dbs:
Hatte eine dunkle Erinnerung an Dietmars Worte ... text muss, ansonsten varchar wenn kein default wert. Spart ein paar.

Funktioniert hier nicht mit v0.9.1 und 0.9.4.1. Ein Blick in die add_topic.php müsste reichen.

Gast:
0.9.0 ist wohl die letzte, die hier promoted wurde, alles andere dann bei den Kollegen und keine Ahnung, was davon hier noch läuft

Willst du es selber richten, mach dir in der Install.php hinter jedem Insert eine Fehlerkontrolle nach diesem Muster


--- Quote ---if (!$database->query($SQL)){
  $admin->print_error($database->get_error());
}
--- End quote ---

der grün markierte Teil muß jeweils zur Definition vor dem Insert passen, also hier

--- Quote ---$SQL = "CREATE TABLE IF NOT EXISTS....
--- End quote ---

Weiterleitung in den WB-Optionen auf -1 und dann manueller Install und Stück für Stück

in der mod_topics wären das diese Felder

--- Quote ---      . '`groups_id` VARCHAR(255) NOT NULL DEFAULT \'\',' //new field
      . '`modified_by`  VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`authors`  VARCHAR(255) NOT NULL DEFAULT \'\',
      . '`title` VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`short_description` VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`description` VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`keywords` VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`picture` VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`is_master_for` VARCHAR(255) NOT NULL DEFAULT \'\','
      . '`see_also` VARCHAR(255) NOT NULL DEFAULT \'\','
--- End quote ---

die fehlen
aber in den anderen Tabellen fehlen auch welche
Zusätzlich müßte man die Scripte durchschauen, z.b. bei jedem INSERT

Alternativ: Modul anhängen

dbs:
Müssten noch ein paar mehr sein. Damit gehts.


--- Code: ---<?php // nur bunt
$Sql =  'INSERT INTO `'.TABLE_PREFIX.'mod_'.$tablename.'` SET '
                   .  '`section_id`= '.$section_id.' , '
                   .  '`page_id`= '.$page_id.', '
                   .  '`groups_id` = \'\', '
                   .  '`active`= 1, '
                   .  '`posted_first`= '.$t.', '
                   .  '`posted_by`= '.$theuser.', '
                   .  '`modified_by`= \'\', '
                   .  '`authors`= '.$theuser.', '
                   .  '`position`= '.$position.', '
                   .  '`link` = \'\', '
                   .  '`title` = \'\', '
                   .  '`short_description`= \'\', '
                   .  '`description`= \'\', '
                   .  '`keywords`= \'\', '
                   .  '`picture`= \'\', '
                   .  '`is_master_for`= \'\', '
                   .  '`content_short`= \'\', '
                   .  '`content_long`= \'\', '
                   .  '`content_extra`= \'\', '
                   .  '`commenting`= '.$commenting.', '
                   .  '`see_also`= \'\', '
                   .  '`tagcloud`= \'\', '
                   .  '`rating_base`= \'\', '
                   .  '`txtr1`= \'\', '
                   .  '`txtr2`= \'\', '
                   .  '`txtr3`= \'\', '
                   .  '`pnsa_cache` = \'\' ';
// $database->query($Sql);

if (!$database->query($Sql)){
  $admin->print_error($database->get_error());
}

--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version