Gelöschte Datensätze in Datenbank ausgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gelöschte Datensätze in Datenbank ausgeben

    Hallo Ihr Lieben,

    ich habe mir ein kleines php Skript gebaut das Datensätze aus einer Datenbank löscht die älter als 24h sind. Wo ich nicht weiter komme, das in der Textausgabe mir angezeigt wird wie viele Datensätze gelöscht wurden.

    => zum Beispiel in der unteren Zeile würde dann stehen echo "x records are deleted", wobei x die Anzahl der gelöschten Datensätze wäre.

    Könnt Ihr mich hier etwas unterstützen?

    HTML-Code:
    MariaDB [fail2ban]> SELECT * FROM `fail2ban` ORDER BY `created` ASC;
    +----+----------+---------------------+---------+----------+------+--------------+
    | id | hostname | created             | name    | protocol | port | ip           |
    +----+----------+---------------------+---------+----------+------+--------------+
    |  6 | dsme01   | 2023-12-31 10:34:41 | pf-sasl | tcp      |      | 51.161.83.73 |
    |  7 | dsme01   | 2023-12-31 21:42:45 | pf-sasl | tcp      |      | 2.57.149.168 |
    |  8 | dsme01   | 2024-01-01 12:33:32 | pf-sasl | tcp      |      | 51.161.83.73 |
    ​
    Mein Skript:
    PHP-Code:
    #!/usr/bin/php
    <?php
    // Delete Record in fail2ban Database

    require_once((dirname(__FILE__))."/config.php");

    $query "DELETE FROM fail2ban WHERE DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 1440 MINUTE) > created";

    if (
    mysqli_query($link$query)) {
        echo 
    "Delete Ip from DATABASE";
    } else {
        echo 
    "Error: " $query "<br>" mysqli_error($link);
    }
    mysqli_close($link);
    exit;
    ?>
    In der config.php sind die Zugangsdaten für meinen Datenbankserver hinterlegt. Habe ich erstmal nicht mit angehängt. Kann ich aber nachliefern, falls relevant.

    Gruß von Stefan Harbich

  • #2
    Da hilft die Doku: https://www.php.net/manual/de/mysqli.affected-rows.php

    Kommentar


    • #3
      Du kannst die Anzahl der gelöschten Datensätze mit der Funktion mysqli_affected_rows() ermitteln. Ersetze einfach das echo durch echo mysqli_affected_rows($link) . " records are deleted";, um die Anzahl korrekt auszugeben.

      Kommentar

      Lädt...
      X