Datenbankspalte mit ALTER TABLE verkleinern; Problem mit Prefix

  • Zitat

    Hast Du es denn mal mit Backticks um den Tabellennamen probiert?

    Noch nicht. Mache ich am späten Abend und berichte dann. Muss gleich weg zur Gospelchor-Probe.

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Bei der Eingaben von

    Zitat


    UPDATE `cerber-traffic` SET ip = "";


    in phpMyAdmin kommt folgende Fehlermeldung:

    Zitat

    #1146 - Table 'xxx.cerber-traffic' doesn't exist

    Ich möchte ja auch PHP-Code in WordPress und nicht die SQL-Eingabe in phpMyAdmin nutzen.

  • Woher kommt das [FONT=Courier New]'xxx.' [/FONT]? Hast Du den SQL-Code in der richtigen Datenbank eingegeben?

    Hast Du es denn mal mit Backticks um den Tabellennamen in WordPress probiert?

    Code
    $wpdb->query( 'UPDATE `cerber-traffic` SET ip = "";' );
  • Zitat

    Woher kommt das 'xxx.' ? Hast Du den SQL-Code in der richtigen Datenbank eingegeben?


    Das "xxx" steht für den Namen der Datenbank, welchen ich nicht öffentlich machen will.

    Zitat

    Hast Du den SQL-Code in der richtigen Datenbank eingegeben?


    Ja.

    Diesen Code eingefügt:

    Code
    $wpdb->query( 'UPDATE `cerber-traffic` SET ip = "";' );


    Spalte wird nicht gelöscht.
    Das liegt wohl doch an den Tabellen. Ich bin am Überlegen, im Plugin-Forum mal nachzufragen.

  • Die Fehlermeldung bei phpMyAdmin bedeutet, dass es die gewünschte Tabelle in Deiner Datenbank [FONT=Courier New]xxx[/FONT] nicht gibt ("doesn't exist"), also scheint nach wie vor was falsch zu laufen.

    Hier wird in einer Testinstallation in einer Tabelle [FONT=Courier New]xx-test[/FONT] mit dem genannten Code mit Backticks die entspr. Spalte gelöscht, sowohl per phpMyAdmin als auch per WordPress [FONT=Courier New]$wpdb[/FONT].

    2 Mal editiert, zuletzt von b3317133 (24. April 2018 um 01:18)

  • Kannst du mal bitte WP Cerber installieren und versuchen, die Spalte ip zu löschen?
    Bei anderen Tabellen funktioniert dein Code ja einwandfrei.

  • Zitat

    bei meinen Projekten überschreibe ich einfach die IP Adresse
    https://github.com/r23/MyOOS/blob…p/remove-ip.php

    Das Plugin ist mir bekannt. Die alten IP's bleiben aber noch drin.

    Ich habe das mit meinem Plugin so gelöst:

    PHP
    // IP-Adressen nicht mehr speichern
        $_SERVER['REMOTE_ADDR'] = '';
        // Alte IP-Adressen aus Kommentaren entfernen
        $wpdb->query('UPDATE ' . $wpdb->prefix . 'comments SET comment_author_IP = "";');


    Damit werden keine neuen IP's mehr gespeichert UND die alten IP's gelöscht.

    Mit beiden Methoden wird lediglich die IP aus den Kommentaren und z. B. dem Plugin Flamingo entfernt. Das sehr gute Plugin WP Cerber zeichnet aber weiterhin die IP's auf. Auf dieses Plugin möchte ich nicht verzichten, weil es praktisch alle Angriffe, Login-Versuche usw. abfängt. Du kannst es ja mal zum Testen einbauen und wirst über die Analyse staunen.

  • Das grundlegende Problem ist, dass ein gültiger PHP-Code bei anderen Tabellen die Spalte löscht; bei den Tabellen von WP Cerber leider nicht. Bei direkter Eingabe in phpMyAdmin wird die Spalte korrekt gelöscht.

    In phpMyAdmin funktioniert dieser Code einwandfrei:

    SQL
    UPDATE `cerber_traffic` SET `ip` = ""

    Als PHP-Code wird angezeigt:

    PHP
    $sql = "UPDATE `cerber_traffic` SET `ip`= \"\"";

    Eingefügt in WordPress: Keine Funktion, also Löschen der Spalte.

    Jetzt bin ich mit meinem Latein am Ende. Viel lieber würde ich mit meinem Script die Spalte löschen, aber wie?
    Hat jemand noch eine Idee, an was das liegen kann?

    Als Notlösung reduziere ich halt die Anzahl der Zeichen, was bisher keine Probleme verursacht hat.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!