SQL Fehler

Brummi1980

Grünschnabel
Hallo
Wir haben ein Allgemeiner Fehler SQL steht da was muss ich machen damit der fehler verschwindet ich hoffe es mir jemand helfen.
Das zeigt mir unsere Seite an


SQL ERROR [ mysqli ]

Table 'u' is marked as crashed and should be repaired [1194]

SQL

SELECT t.forum_id, t.topic_id, t.topic_last_post_id, t.topic_last_post_time, t.topic_time, t.topic_title, t.topic_attachment, t.topic_views, t.poll_title, t.topic_replies, t.topic_replies_real, t.topic_poster, t.topic_type, t.topic_status, t.topic_last_poster_name, t.topic_last_poster_id, t.topic_last_poster_colour, t.icon_id, u.username, u.user_id, u.user_type, u.user_colour, p.post_id, p.poster_id, p.post_time, p.post_text, p.post_attachment, p.post_username, p.enable_smilies, p.enable_bbcode, p.enable_magic_url, p.bbcode_bitfield, p.bbcode_uid, f.forum_name, f.enable_icons, tp.topic_posted FROM (phpbb_1topics t) LEFT JOIN phpbb_1users u ON (t.topic_poster = u.user_id) LEFT JOIN phpbb_1forums f ON (t.forum_id=f.forum_id) LEFT JOIN phpbb_1posts p ON (t.topic_first_post_id = p.post_id) LEFT JOIN phpbb_1topics_posted tp ON (tp.topic_id = t.topic_id AND tp.user_id = 54) WHERE (( t.topic_type = 2) OR ( t.topic_type = 3)) AND t.topic_status <> 2 AND t.topic_approved = 1 AND t.topic_moved_id = 0 AND (t.forum_id = 0 OR (t.forum_id <> 41 AND t.forum_id <> 42 AND t.forum_id <> 43)) ORDER BY t.topic_time DESC LIMIT 1

BACKTRACE

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

FILE: includes/db/mysqli.php
LINE: 205
CALL: dbal_mysqli->sql_query()

FILE: includes/db/dbal.php
LINE: 170
CALL: dbal_mysqli->_sql_query_limit()

FILE: portal/includes/functions.php
LINE: 255
CALL: dbal->sql_query_limit()

FILE: portal/block/announcements.php
LINE: 28
CALL: phpbb_fetch_posts()

FILE: portal.php
LINE: 134
CALL: include('portal/block/announcements.php')

Was heist das?
 
Hi,

du verwendest das Client-Tool deiner Wahl (z.B. phpMyAdmin oder auch das Command-Line-Tool), verbindest dich zum DB-Server. Nun wählst du die verwendete DB aus (use [database], bzw. mit phpmyadmin einfach auswählen).

Anschließend rufst du den Befehl

Code:
REPAIR TABLE users;

auf und versuchst noch mal deine Applikation zu starten.

Das nächste mal bitte solche Auszüge in Code-Tags packen.
 
Zuletzt bearbeitet:
Das die Tabelle "users" strukturelle Fehler aufweist und deshalb repariert werden sollte.

phpMyAdmin kann dies z. B. tun.
Tabelle auswählen -> Operations

Unten gibt es eine Liste mit Operationen, eine davon heißt "Repair Table".
 
Hast du einen Freehoster? Oder einen anderen Webserver? Machst du das lokal auf deinem Rechner zu Hause?

In der Regel bietet der Freehoster einen Link zu phpMyAdmin in der Server-Administration an. Wird manchmal auch Datenbank-Administration genannt.

Ansonsten bau dir halt ein php-Script, was die Tabelle für dich repariert oder bau den SQL-Befehl temporär in das Script ein, in dem der von dir genannte SQL-Query ausgeführt wird.
 
1. Bei welchem Anbieter?
2. Wie hast du die Datenbank angelegt?
3. Hat der Provider, der den Webserver zur Verfügung gestellt hat, keine FAQ?
 
Zurück