Login-Skript

  • Ich habe es auf meinem Webhosting 8000 laufen. Damit du mir glaubst das ich am Code nichts geändert habe, hab ich dir mal einen Screenshot angehängt.

    displays_error ist nun on


    Fatal error: Uncaught Error: Class "mysqli_connect" not found in.../test.php:2 Stack trace: #0 {main} thrown in .../test.php on line 2

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Einmal editiert, zuletzt von Bud ()

  • Hm ja ich sehs grad... Ich geh erst mal ins Bett und schlaf mich ordentlich aus... Auf jeden Fall schon mal vielen vielen Dank eich bis hierhin.


    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Guten Morgen, nach Entfernung von _connect bekomme ich auf der test.php nun eine blanke Seite angezeigt.



    Bei meinem ursprünglichen Code habe ich noch einen Fehler behoben, und bekomme nun dank display_errors Warning: Undefined array key "UPDATE_TIME" in ... on line 81, werde daraus aber nicht ganz schlau. Ich habe schon ein wenig gesucht, aber finde anstatt einer Erklärung dafür nur weitere PHP-Codes die ähnlich aufgebaut sind... und anscheinend funktionieren. Ich versuche mal mich da weiter reinzufuchsen...

    PHP: index.php
    $netcup = "SHOW TABLE STATUS LIKE 'nitram'";
    $result = mysqli_query($db_link, $netcup) or die('Fehler');
    $row = mysqli_fetch_assoc($result);
    $date = $row['update_time'];
    mysqli_free_result($result);
    echo "Letztmalig aktualisiert am " . $date;

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    2 Mal editiert, zuletzt von Bud ()

  • Undefined array key "UPDATE_TIME"

    Das heißt so viel, dass es keinen Wert für Update Time gibt.


    Magst du deine Anfrage SHOW TABLE STATUS LIKE 'nitram' mal in phpmyadmin im Webhosting ausführen und ein Screenshot vom Ergebnis machen.

    Ich habe leider kein Webhosting, evtl. gibt es im geteilten Datenbankserver einige Besonderheiten.

  • Das heißt so viel, dass es keinen Wert für Update Time gibt.


    Magst du deine Anfrage SHOW TABLE STATUS LIKE 'nitram' mal in phpmyadmin im Webhosting ausführen und ein Screenshot vom Ergebnis machen.

    Ich habe leider kein Webhosting, evtl. gibt es im geteilten Datenbankserver einige Besonderheiten.

    update_time hat NULL, verstehe ich aber nicht. Ich habe 4 Spalten, von welchen 3 "fix" sind, aber in der 4ten in allen Zeilen alleine bei meinen Tests täglich mehrere Änderungen durchgeführt wurden. Sollte sich dann update_time nicht automatisch ändern, oder habe ich das falsch verstanden?

    Edit: Wenn ich richtig recherchiert habe funktioniert das erst ab MySQL 5.7.8. Vorher war ein Bug der bei update_time immer NULL angezeigt hat anscheinend bekannt, bzw. ist bekannt... Mit SELECT version(); gibt er mir als Version 8.0.31 aus, also sollte es doch eigentlich laufen?

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Einmal editiert, zuletzt von Bud ()

  • update_time hat NULL

    Ich habe das mal bei einer MariaDB 10.3.36 durchgespielt. Gleiches Ergebnis:


    Bildschirmfoto zu 2023-01-18 10-55-08.png


    Die Doku sagt dazu:


    Zitat

    Time the table was last updated. On Windows, the timestamp is not updated on update, so MyISAM values will be inaccurate. In InnoDB, if shared tablespaces are used, will be NULL, while buffering can also delay the update, so the value will differ from the actual time of the last UPDATE, INSERT or DELETE.

    Ich weiß allerdings nicht, was shared tablespaces sind.


    Evtl. musst du auf eine andere Methode umsattelt.

    Was möchtest du denn mit dem Wert anfangen bzw. erreichen? Was ist dein Ziel?

  • Evtl. musst du auf eine andere Methode umsattelt.

    Was möchtest du denn mit dem Wert anfangen bzw. erreichen? Was ist dein Ziel?

    Es ist eine kleine "onepage", auf welcher die Bespielbarkeit von Sportplätzen angezeigt werden sollen. Diese sieht dann ähnlich zu folgendem Beispiel aus

    Für diese Seite gibt es ein Admin-Panel, in welchem der Status mit einem Switch geändert werden kann. Und ich bin sogar ein bisschen stolz auf mich das dies alles soweit funktioniert ^^


    Jetzt hätte ich einfach nur gerne, dass unter der Tabelle steht, wann einer der Statusanzeigen zuletzt geändert wurde. Also wie "aktuell" die Tabelle ist.

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

  • Du könntest jedem Datensatz ein last_update Zeitstempel hinzufügen, nach diesem Feld sortieren und das erste Ergebnis auslesen lassen.

    Dann hast du den letzten Zeitstempel für die ganze Tabelle.


    Oder jeder einzelnen Zeile im Webinterface anzeigen lassen, wann es das letzte Update gab.

    Dann weiß man als Benutzer nicht nur, wie aktuell die Tabelle ist, sondern dass der Wert für Beach Volleyball auch sehr aktuell ist.

  • Über die gleichen Lösungsansätze habe ich auch schon nachgedacht, auch wenn ich es schade finde das es mit update_time nicht funktioniert. Und ich nicht wirklich verstehe warum nicht.

    Aber danke dir, ich denke es wird letzteres, also das ich das letzte Update für jeden Platz anzeigen lasse.


    Danke dir für deine Mühen H6G , und auch danke an nitram , den ich gestern verständlicherweise frustriert habe ;)

    [RS] 2000 G9 | Cyber Quack

    [VPS] 2000 ARM G11 | 1000 G9 | 200 G8 | Secret | A | mikro G11s | 4x nano G11s
    [WH] 8000 SE | 4000 SE | 2000 SE

    Einmal editiert, zuletzt von Bud ()

    Ente gut, alles gut 1
  • Über die gleichen Lösungsansätze habe ich auch schon nachgedacht, auch wenn ich es schade finde das es mit update_time nicht funktioniert. Und ich nicht wirklich verstehe warum nicht.

    Aber danke dir, ich denke es wird letzteres, also das ich das letzte Update für jeden Platz anzeigen lasse.


    Danke dir für deine Mühen H6G , und auch danke an nitram , den ich gestern verständlicherweise frustriert habe ;)

    update_time funktioniert wie dokumentiert: When the data file was last updated. For some storage engines, this value is NULL. For example, InnoDB stores multiple tables in its system tablespace and the data file timestamp does not apply.


    Du hast ein File auf der Festplatte. In diesem File leben die Daten mehrerer Tabellen. Für die Daten mehrerer Tabellen kann man nicht nur ein singuläres Datum des letzten Updates haben.