Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hey Community,

ich bereite mich für meine Ausbildung (FI/Anwendungsentwicklung) die im August anfängt vor.

Aktuell schreibe ich an einem Netflix-Klon. Es handelt sich um eine Website, die lokale Videodateien von meinem Rechner in den Browser bringt, mit allen Vorteilen die Netflix bietet (Skip intro, autopause video etc.). Das Projekt nenne ich ganz kreativ 'Flixnet'.

Damit der User beim nächsten Öffnen des Videos wieder dort fortfährt, wo er aufgehört hat, wird in einem Intervall von 8 Sekunden eine Javascript Funktion mit AJAX ausgeführt, die die Episoden-ID und einen Zeitstempel übermittelt. Anhand der Episoden-ID wird die Staffel und die relative Episodennummer ermittelt. Anschließend werden diese Daten in eine Tabelle namens 'c_set' übertragen.

Komischerweise funktioniert das nur zum Teil. Der Zeitstempel wird in der Datenbank aktualisiert, die Staffel und Episode jedoch nicht. Das kann ich mir absolut nicht erklären. Um sicherzustellen, dass die Werte für Staffel und Episode richtig ermittelt werden, habe ich eine Testtabelle erstellt und füttere diese mit den Informationen. Und dort klappt es auch, jedoch nicht in der 'c_set' Tabelle.

Hier der Code:

[...]
if($reqresult->num_rows > 0){
  //Update
  $updstatement = "UPDATE c_set SET sec = '$timestamp', se = '$upseason', ep = '$upepisode' WHERE c_ID = '$c_ID' AND u_ID = '$u_ID';";
  mysqli_query($db,$updstatement);

	//Test
        $testsql = "INSERT INTO testtable (season,episode) VALUES ('$upseason','$upepisode');";
        mysqli_query($db,$testsql);
        unset($testsql);

  unset($updstatement);
}
[...]

 

Ich habe mich mehrmals vergewissert, dass alle Spaltennamen richtig geschrieben sind.

Also, wie kann es sein, dass die Testtabelle z.B. season = 2 und Episode = 1 richtig abspeichert, die c_set Tabelle aber nur das Attribut sec aktualisiert und se und ep unangetastet lässt?

 

Hoffe jemand versteht was mein Problem ist und kann mir helfen ?

mfg Nabrizzy

Bearbeitet von Nabrizzy

Schuss ins Blaue: SET ist ein "reserved keyword" ;) Sprich, es darf nicht in zB Tabellen-Namen verwendet werden (Bei Groß- und Kleinschreibung bin ich nicht 100% sicher, jedoch dürfte das hier zutreffen).

Was auch erklären würde, dass es funktioniert, wenn du etwas anderes als "c_set" verwendest - siehe zb https://dev.mysql.com/doc/refman/5.5/en/keywords.html

Kriegst du eine entspr. Fehlermeldung?

  • Autor

Wenn ich bei phpmyadmin die Abfrage ausführe gibt es keine Probleme. Außerdem wird ja ein Wert aktualisiert, nur die anderen beiden nicht.

Ich werd's trotzdem mal probieren, aber kann's mir eigentlich nicht vorstellen.

  • Autor

Hätte ich mal nachschauen sollen.

Hab das Problem jetzt umgangen indem ich statt Staffel und Episode nur die Episoden ID übermittelt hab. Hat auf Anhieb funktioniert. Hätte trotzdem gern' gewusst woran's lag.

Passt der Datentyp den deine Datenbank dort erwartet mit dem den du übermittelst überein?

Versuche mal in deinem Update-Statement hart irgendwelche Werte zu setzen.

 

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.