Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.27 veröffentlicht (22.06.21)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
"Task" > SQL-Befehl funktioniert nicht
#1
Hallo Community,

habe mir eine Task-Datei erstellt aktiviert in welcher ich User der Gruppe "5" (soweit sie länger als 24 Stunden nicht aktiviert haben) wieder gelöscht werden sollen. Irgend etwas klappt mit dem Befehl nicht. Eine Aufgabenplanung welche die Task-Datei aufruft wurde selbstverständlich erstellt.
PHP-Code:
function delete_user_not_activated($task)
{
    global $db;

// Löschen aller User welche ihren Account nicht binnen 24 Stunden nach Registrierung aktiviert haben

if ($usergroup && ($regdate TIME_NOW-(60*60*24))) { 
$sql "DELETE FROM `mybb_users` WHERE usergroup = 5";
$mysqli->query($sql);
}

add_task_log($task"Löschung der nicht aktivierten User (>246 Stunden) ausgeführt");
}
?>
ob mit oder ohne IF-Bedinung bzw. mit oder ohne Hochstrich, nciht funktioniert.

Nur:
PHP-Code:
DELETE FROM `mybb_usersWHERE usergroup 5

funktioniert in phpMyAdmin aber nicht im Task.

Was mache ich falsch?
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#2
1. Was steht in usergroup drin?
2. Wieso vergleichst du mit einem = anstatt ==
Zitieren
#3
Diese Option gibt es standardmäßig doch bereits Wink

Schau mal in den ACP-Einstellungen unter "Benutzer bereinigen"
Zitieren
#4
(29.11.2020, 17:17)itsmeJAY schrieb: 1. Was steht in usergroup drin?
2. Wieso vergleichst du mit einem = anstatt ==
zu 1 = Inhalt: 5
zu 2 = auch versucht.
(29.11.2020, 17:25)SvePu schrieb: Diese Option gibt es standardmäßig doch bereits Wink
Schau mal in den ACP-Einstellungen unter "Benutzer bereinigen"
Danke, das war die Lösung!

Hätte ich mir den Zeitaufwand ersparen können. Smile

Unabhängig davon würden mich trotzdem die korrekten Befehlsaufbauten interessieren, man hat ja noch weitere Ideen.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren
#5
(29.11.2020, 17:38)Gerti schrieb: Unabhängig davon würden mich trotzdem die korrekten Befehlsaufbauten interessieren, man hat ja noch weitere Ideen.

Auf den ersten Blick fehlt hier ein zweites = Zeichen:
PHP-Code:
if ($usergroup 
Zitieren
#6
Hatte ich oben schon erwähnt, hehe
Zitieren
#7
Ehrliche Meinung: Der Code ist nicht zu retten. Die Variablen $usergroup, $regdate und $mysqli gibt es nicht, die Abfrage ist fehlerhaft und das Datenbank-Query unvollständig.
Zudem ist es ist äußerst unsauber direkt in der Tabelle mybb_users zu löschen, weil es in vielen anderen Tabellen, mehreren Caches und noch im Dateisystem (Avatare) Verweise auf diese gibt. Zum Vergleich hier der Code, der bei einer ordentlichen Lösung ausgeführt wird: https://crossreference.mybb.de/inc/datah...html#l1490
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#8
Wie von euch erwähnt, genügt es nicht einfach den User inder Tabelle  mybb_users zu löschen, da nach der Registrierung die User-ID in insgesamt drei Tabellen enthalten ist. Man müsste somit zuerst mittels einem Array die User-IDs der Gruppe 5 erfassen und dieselbigen dann in allen betroffenen Tabellen löschen.

Nachdem die Funktion, wie ich Dank eures Hinweises entdecken durfte, bereits in MyBB enthalten ist hat sich meine Anfrage erübrigt.

Besten Dank für die Hinweise, Tipps, und Anregungen.
Jammer nicht rum ...Du musst (k/m)eine Hilfe (nicht) annehmen!
MyBB: 1.8.27 | PHP: 7.4.19 | SQL: 5.7.34
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [301] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner]
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Task wird nicht ausgeführt Schnapsnase 27 1.443 31.03.2021, 10:28
Letzter Beitrag: StefanT
  Task funktioniert nur manuell cthulhu 3 1.076 13.01.2017, 14:26
Letzter Beitrag: StefanT