Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.8 veröffentlicht (17.10.16)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Ajax Chat Fehler
#1
Hi,

ich habe den Ajax Chat für MyBB auf meinem Testforum installiert.

Wenn ich nun die Domain/chat aufrufe kommt folgender Fehler:

Query: SELECT userID, userName, userRole, channel, UNIX_TIMESTAMP(dateTime) AS timeStamp, ip FROM ajax_chat_online ORDER BY userName; Error-Report: Error-Code:

Kann mir wer sagen woran das liegt?
Das Wettfoum im deutschsprachigen Raum. SportwettenTALK.com
Zitieren
#2
Ist das die komplette Fehlermeldung? Diese sagt leider nicht viel aus, da der interessantere Teil fehlt.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Hast du auch die benötigten Tabellen für den Ajax-Chat angelegt?!

Dies machst du indem du die Datei /chat/install.php aufrufst.

Sollte das nicht funktionieren, dann führe das SQL-Statement "händisch" über phpmyadmin aus.
Code:
DROP TABLE IF EXISTS ajax_chat_online;
CREATE TABLE ajax_chat_online (
    userID INT(11) NOT NULL,
    userName VARCHAR(64) NOT NULL,
    userRole INT(1) NOT NULL,
    channel INT(11) NOT NULL,
    dateTime DATETIME NOT NULL,
    ip VARBINARY(16) NOT NULL
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

DROP TABLE IF EXISTS ajax_chat_messages;
CREATE TABLE ajax_chat_messages (
    id INT(11) NOT NULL AUTO_INCREMENT,
    userID INT(11) NOT NULL,
    userName VARCHAR(64) NOT NULL,
    userRole INT(1) NOT NULL,
    channel INT(11) NOT NULL,
    dateTime DATETIME NOT NULL,
    ip VARBINARY(16) NOT NULL,
    text TEXT,
    PRIMARY KEY (id)
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

DROP TABLE IF EXISTS ajax_chat_bans;
CREATE TABLE ajax_chat_bans (
    userID INT(11) NOT NULL,
    userName VARCHAR(64) NOT NULL,
    dateTime DATETIME NOT NULL,
    ip VARBINARY(16) NOT NULL
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

DROP TABLE IF EXISTS ajax_chat_invitations;
CREATE TABLE ajax_chat_invitations (
    userID INT(11) NOT NULL,
    channel INT(11) NOT NULL,
    dateTime DATETIME NOT NULL
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

MfG Megaleecher
Höre nie auf besser zu werden, weil dann hast du aufgehört gut zu sein.
Zitieren
#4
So habe den Befehl jetzt ausgeführt. Nun kommt folgende Meldung:

Query: SELECT userID, userName, userRole, channel, UNIX_TIMESTAMP(dateTime) AS timeStamp, ip FROM ajax_chat_online ORDER BY userName; Error-Report: Error-Code:
Das Wettfoum im deutschsprachigen Raum. SportwettenTALK.com
Zitieren
#5
Das ist immer noch die selbe (vermutlich unvollständige) Fehlermeldung.
(16.08.2010, 21:57)Michael schrieb: Ist das die komplette Fehlermeldung? Diese sagt leider nicht viel aus, da der interessantere Teil fehlt.

viele Grüße
Jockl
übersetzte und eigene Plugins
Zitieren
#6
Hallo,

die Fehlermeldung ist tatsächlich vollständig so, ohne weitere Angaben. Die meisten Ursachen sind entweder, dass die Strings in der config.php weggelassen worden snd, oder das PW oder der Datenbankname einen Bindestrich oder Sonderzeichen enthalten hatten. Darauf reagiert der Chat allergisch.

config sollte so aussehen:

// Database connection values:
$config['dbConnection'] = array();
// Database hostname:
$config['dbConnection']['host'] = 'localhost';
// Database username:
$config['dbConnection']['user'] = 'xxxxxxxx';
// Database password:
$config['dbConnection']['pass'] = 'xxxxxxxxxx';
// Database name:
$config['dbConnection']['name'] = 'xxxxxxxx';
// Database type:
$config['dbConnection']['type'] = 'MySQL';
// Database link:
$config['dbConnection']['link'] = null;

und bei dem Datenbanknamen und beim PW keine Sonderzeichen (auch keine Bindestriche) einsetzen!

Leider schon zu lange her, dass ich den mal integriert hatte, aber den selben Fehler hatte ich schon mal wegbekommen. Mehr fällt mir aktuell leider nicht auf Anhieb ein, sorry...
Zitieren
#7
Hallo,
ich hänge mich mal einfach dran.
Wollte auch den Ajax-Chat testen,habe die config.php entsprechend geändert und die install.php aufgerufen.
Die vier Tabellen wurden angelegt und die install.php habe ich danach gelöscht.
Aufruf des Chats:
Es erscheint das Fenster mit Benutzernamen und Passwort wo nun eigentlich mein
Nickname automatisch erscheinen sollte.
Gebe ich Nick und Passwort ein erscheint Ungültiger Benutzername.
Lasse ich die Felder leer und entere, krieg ich folgende Fehlermeldung:

Query: SELECT userID, userName, userRole, channel, UNIX_TIMESTAMP(dateTime) AS timeStamp, ip FROM xxxxxxxxxxx-2.ajax_chat_online ORDER BY userName; Error-Report: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'xxxxxxxxxxx-2.ajax_chat_online ORDER BY userName' at line 9 Error-Code: 1064

@axxis............. der Datenbankname einen Bindestrich oder Sonderzeichen enthält. Darauf reagiert der Chat allergisch.

Mein Datenbankname enthält einen Bindestrich,aber offensichtlich hat er sie gefunden ,denn die 4 Tabellen wurden schliesslich angelegt.

Kann man nicht auch in der config.php einen direkten Link zur User-Tabelle setzen,
bzw.wie müsste der aussehen?

// Database link:
$config['dbConnection']['link'] = null;

Kann jemand weiterhelfen?

Gruss coppeliusfan



COPPELIUS HILFT!!
Zitieren
#8
Hallo zusammen,
ich muss nochmal hier anhaken. Habe schon gesucht und gesucht ... das gefundene hat mir leider nicht weitergeholfen. Vielleicht bin ich auch einfach nur zu dösig!

Die im vorigen Beitrag beschriebene Fehlermeldung kommt bei mir genau so wie beschrieben. Datenbankname ist natürlich ein anderer aber ebenfalls mit Bindestrich.

Kann es daran liegen? und wenn ja , welche Dateien in welchem Verzeichnis muss ich ändern/anpassen.
Ich hoffe mir kann noch geholfen werden ;-)

P.S. MyBB Version ist 1.6.9

Gruß
Sunday
Sooo und nochmal ich ;-)
Also doch nicht zu dösig - zumindest nicht zum lesen ;-)
In einem anderen Forum kam folgender Hinweis ! :

Zitat:Du hast wohl einen Bindestrich (`-`) in deinem Datenbank-Namen und bist damit tatsächlich über einen Bug im AJAX-Chat gestolpert. Das Problem ist, dass die Bezeichner für Datenbanken, Tabellen und Spalten nicht in Backticks (`) gesetzt werden. Dies ist bei Word-Characters (A-Z, a-z, 0-9, _) zwar egal, in deinem Fall wird der Bindestrich jedoch als Minus-Operator aufgefasst, der an der entsprechenden Stelle denkbar wenig Sinn ergibt. Die Lösung des Problems wäre, in lib/class/AJAXChat.php die Funktion getDataBaseTable() wie folgt zu verändern:
PHP-Code:
Code:
function getDataBaseTable($table) {
      return '`'.($this->db->getName() ? $this->db->getName().'`.`'.$this->getConfig('dbTableNames',$table) : $this->getConfig('dbTableNames',$table)).'`';
}
Ein einfacherer Work-around wäre selbstverständlich, auf den Bindestrich im Datenbank-Namen zu verzichten und z.B. eine DB des Namens `ajax_chat` statt `ajax-chat` anzulegen.

Das wars - zumindest bei mir .

Gruß
Sunday
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Ajax Chat @Frog hkkp 4 322 13.04.2016, 18:25
Letzter Beitrag: Yamek89
  "Who is in Ajax Chat"-Plugin für MyBB 1.8.4? Paccy 11 877 15.09.2015, 18:46
Letzter Beitrag: hkkp
  Wie im AJAX-Chat bestimmte Benutzgruppen ausschließen? Koelner 14 665 20.03.2015, 08:16
Letzter Beitrag: Koelner
  Ajax-Chat - Gäste ausschließen. Koelner 30 4.717 21.09.2014, 00:46
Letzter Beitrag: Dana
  Ajax Chat integration nyukuri 5 1.918 17.03.2014, 11:49
Letzter Beitrag: hkkp