Foren
Neue Beiträge
Foren durchsuchen
Was ist neu?
Neue Beiträge
Profilnachrichten
Online
Anmelden
Registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Neue Beiträge
Foren durchsuchen
Menü
Anmelden
Registrieren
App installieren
Installieren
Programmierung
MySQL
Datensatz aus PostgreSQL Datenbank löschen
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Auf Thema antworten
Beitrag
[QUOTE="stharbich, post: 14966, member: 5398"] Hallo Ihr Lieben, ich habe folgende PostgreSQL Datenbank mit dem Namen fail2ban. [ATTACH type="full" alt="2025_01_06_fail2ban-database.png"]560[/ATTACH] Ich möchte per PHP Skript alle Datensätze löschen die älter als 24 Stunden sind. Hierzu habe ich zwei PHP Datein erstellt. config_new.php (Hält die Informationen für die Verbindung zur Datenbank) [CODE]root@dsme01:~# cat /etc/fail2ban/config_new.php #!/usr/bin/php <?php // postgresql database configuration $dbserver="localhost"; $dbuser="fail2ban"; $dbpass="##########"; $dbname="fail2ban"; $tablename="fail2ban"; // connect to postgresql database try { $link = new PDO("pgsql:host=$dbserver;dbname=$dbname", $dbuser, $dbpass); $link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die('Could not connect: ' . $e->getMessage()); } ?>[/CODE] crontab_new.php (Löscht die Datensätze die älter als 24 Stunden sind per Cron Job) [CODE]root@dsme01:~# cat /etc/fail2ban/cron2ban_new.php #!/usr/bin/php <?php require_once((dirname(__FILE__)) . "/config_new.php"); // query PostgreSQL $query = "DELETE FROM fail2ban WHERE created < DATE_SUB(NOW() , INTERVAL 1 DAY)"; $stmt = $link->prepare($query); $stmt->execute(); if ($stmt->execute()) { echo "IP delete in the DATABASE"; } else { echo "No Dataset delete"; } exit; ?>[/CODE] Das ganze schlägt aber bei der Löschung mit folgender Fehlermeldung fehl: [CODE]root@dsme01:/etc/fail2ban# ./cron2ban_new.php #!/usr/bin/php PHP Fatal error: Uncaught PDOException: SQLSTATE[42601]: Syntax error: 7 FEHLER: Syntaxfehler bei »1« LINE 1: ...OM fail2ban WHERE created < DATE_SUB(NOW() , INTERVAL 1 DAY) ^ in /etc/fail2ban/cron2ban_new.php:9 Stack trace: #0 /etc/fail2ban/cron2ban_new.php(9): PDOStatement->execute() #1 {main} thrown in /etc/fail2ban/cron2ban_new.php on line 9[/CODE]Habt Ihr einen Tipp was ich falsch mache? Gruß von Stefan Harbich [/QUOTE]
Zitate
Authentifizierung
Antworten
Programmierung
MySQL
Datensatz aus PostgreSQL Datenbank löschen
Oben
Unten