Problem bei zu langen Beiträgen

Probleme bei der regulären Arbeiten mit phpBB, Fragen zu Vorgehensweisen oder Funktionsweise sowie sonstige Fragen zu phpBB im Allgemeinen.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
bisi
Mitglied
Beiträge: 21
Registriert: 09.06.2005 13:36
Wohnort: Ge
Kontaktdaten:

Problem bei zu langen Beiträgen

Beitrag von bisi »

Folgendes kommt als Fehlermeldung wenn der Beitrag im Forum zu viele Zeichen enthält:

Code: Alles auswählen

 Could not insert new word

DEBUG MODE

INSERT INTO markt_search_wordlist (word_text, word_common) VALUES ('ändern', 0)
Line : 209
File : functions_search.php
Hat jemand Ideen?
easymade...

easymade.de
Christian Benz
Mitglied
Beiträge: 854
Registriert: 25.02.2004 00:41
Wohnort: Regen
Kontaktdaten:

Beitrag von Christian Benz »

Hallo,

http://www.phpbb.de/viewtopic.php?t=83866
(Tabelle mittels phpMyAdmin reparieren, vielleicht geht's dann wieder.)

Gruß,
Chris
Benutzeravatar
bisi
Mitglied
Beiträge: 21
Registriert: 09.06.2005 13:36
Wohnort: Ge
Kontaktdaten:

Beitrag von bisi »

Hallo,
um das Thema aufzugreifen!

Es liegt anscheinend daran, dass ich mein phpBB2 mit einer PostgreSQL Datenbank laufen lasse.

Wenn die Beiträge demzufolge zu lang werde, gibt es Probleme beim schreiben in die Datenbank.

Hat jemand damit Erfahrungen?!?!

Mit einer MySQL DB Funktioniert das, es muss aber unbedingt mit PostgreSQL laufen.

Danke
easymade...

easymade.de
Benutzeravatar
bisi
Mitglied
Beiträge: 21
Registriert: 09.06.2005 13:36
Wohnort: Ge
Kontaktdaten:

Beitrag von bisi »

Code: Alles auswählen

		$value_sql = '';
		$match_word = array();
		for ($i = 0; $i < count($word); $i++)
		{ 
			$new_match = true;
			if ( isset($check_words[$word[$i]]) )
			{
				$new_match = false;
			}

			if ( $new_match )
			{
				switch( SQL_LAYER )
				{
					case 'mysql':
					case 'mysql4':
						$value_sql .= ( ( $value_sql != '' ) ? ', ' : '' ) . '(\'' . $word[$i] . '\', 0)';
						break;
					case 'mssql':
					case 'mssql-odbc':
						$value_sql .= ( ( $value_sql != '' ) ? ' UNION ALL ' : '' ) . "SELECT '" . $word[$i] . "', 0";
						break;
					default:
						$sql = "INSERT INTO " . SEARCH_WORD_TABLE . " (word_text, word_common) 
							VALUES ('" . $word[$i] . "', 0)"; 
						if( !$db->sql_query($sql) )
						{
							message_die(GENERAL_ERROR, 'Could not insert new word', '', __LINE__, __FILE__, $sql);
						}
						break;
				}
			}
		}
An diesem Code aus der function_search.php liegt es.

Ich benutze eine PostgreSQL Db und wenn ein Wort bereits in der DB ist wie z.B. "ändern" dann gibt es Probleme beim Posten der nachrichten.

Wie sieht das denn aus?

die Tabelle phpbb_search_wordlist - Was für eine Funktion hat sie genau?
easymade...

easymade.de
Benutzeravatar
bisi
Mitglied
Beiträge: 21
Registriert: 09.06.2005 13:36
Wohnort: Ge
Kontaktdaten:

Beitrag von bisi »

[IRONIEMODUS:ON]Danke für die Hilfreichen Postings [/IRONIEMODUS:OFF]

Ich hab es nun von allein herausgefunden:

in der function_search.php zeile 92:

Code: Alles auswählen

function split_words(&$entry, $mode = 'post')
{
	// If you experience problems with the new method, uncomment this block.
/*	
	$rex = ( $mode == 'post' ) ? "/\b([\w±µ-ÿ][\w±µ-ÿ']*[\w±µ-ÿ]+|[\w±µ-ÿ]+?)\b/" : '/(\*?[a-z0-9±µ-ÿ]+\*?)|\b([a-z0-9±µ-ÿ]+)\b/';
	preg_match_all($rex, $entry, $split_entries);

	return $split_entries[1];
*/
	// Trim 1+ spaces to one space and split this trimmed string into words.
	return explode(' ', trim(preg_replace('#\s+#', ' ', $entry)));
}
einfach den auskommentierten Code wieder "aktivieren" (d.h. die /* */ wegmachen) und schon klappt es.
Anscheinend hat PostgreSQL Probleme gehabt mit der function split_words funktion!!
easymade...

easymade.de
Antworten

Zurück zu „phpBB 2.0: Administration, Benutzung und Betrieb“