Beiträge von Endrick93

    Jetzt wird aber das var_dump nur immer alle 1min 60sek angezeigt durch

    (1 * 60) möchte ich es ja so machen, dass es immer angezeigt wird und nur immer nach dieser Zeit neu von der api abgerufen wird

    Mein Code sieht derzeit so aus:

    Ist das wirklich so schwer?


    UNGETESTET:

    Es kommt nur

    Connection to server sucessfully $key = 1606601240
    raus

    Hallo m.scatello


    • Man bemerkt, dass ein Skript nicht das tut, was es soll. ✔️
    • Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1); ✔️
    • Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden. ✔️
    • Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen. ✔️
    • An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    • Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    • Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber. ✔️
    • Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen. ✔️
    • Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.


    Ich bin die Schritte durchgegangen wir wird jedoch immer noch nur Notice: Undefined variable: ObjectMap angezeigt.

    Hallo basti1012,


    Ich habe es ohne Anführungsstriche versucht leider gibt es wieder zurück, dass die Variable nicht definiert ist. Trotzdem Danke für deine Antwort.

    Hi,


    Ich habe mal probiert mir einen Zwischenspeicher mit Redis für das Zwischenspeichern einer Rest API zu bauen. Nun habe ich das Problem wenn ich die Variable mit echo ausgeben möchte, dass zurückgegeben wird das diese undefiniert ist. Könnte jemand auf den Code schauen ob dort noch Fehler sind, da ich auch noch nicht viel mit Redis gearbeitet habe. Ich bedanke mich schonmal im Vorraus.


    Nein! Das ist gefährlich! mysqli_real_escape_string() bringt überhaupt nichts wenn du den damit behandelten Wert nicht in Anführungszeichen setzt: im Query müssen um $id dann Anführungszeichen stehen - das wurde dir aber auch schon in #3 geschrieben! Beschäftige dich erstmal mit Kontextwechseln damit du das eigentliche Problem überhaupt verstehst. Ich würde dir auch eher zu prepared statements raten und nicht die Querys von Hand zusammen bauen.


    Die restlichen Fehler in den zwei Zeilen wurden ja schon teilweise angesprochen:

    • das ».$id« gehört hinter die Klammer, so gibt das einen Query der nicht das macht was du erwartest (vom Syntax her zwar richtig, die Logik ist aber falsch)
    • in $bdd steht eine PDO-Verbindung, damit kann eine mysqli-Funktion natürlich nichts anfangen - entscheide dich endlich für eine Variante und räum den Code auf (ich würde PDO nehmen)
    • Vergiss »SELECT *« und schreibe *immer* alle Spalten hin die du brauchst

    Erstmal Danke für deinen Beitrag. Ich werde nun versuchen alles in PDO umzuwandeln.

    Also zwei Abfragen bei der einen werden die Datensätze mit der ID gezählt und die andere ruft diese ab. -> Danke für den Hinweis diese könnte ich eigentlich zusammenführen


    Nutze hier mysqli_real_escape_string für dein $_GET['id'] -> Wie genau soll ich das einsetzen?



    *Zu den 2 mal include




    db1.php

    <?php

    $bdd = new PDO('mysql:host=localhost;dbname=;charset=utf8', '', '');

    ?>


    sql1.php


    <?php

    $servername = "localhost";

    $username = "";

    $password = "";

    $database = "";

    // Create connection

    $conn = new mysqli($servername, $username, $password, $database);

    // Check connection

    if ($conn->connect_error) {

    // die("Connection failed: " . $conn->connect_error);

    }

    ?>

    Nein. ist es nicht. Warum sollten wir uns mit so einem Durcheinander auseinander setzen? Benutze konsequent PDO oder die mysqli*-Funktionen, aber nicht beides.


    Nein

    Ok Danke für deine Rückmeldung jeder sieht das ein bisschen anderst damit komme ich aber trotzdem klar. Nur müsstest du mir dabei ein bisschen helfen, da ich nicht ganz genau weis was du damit meinst und um das Thema nicht in die Länge zuziehen

    Jo.

    Man hat
    SELECT * FROM überall in vielen Tutorials gesehen.
    Deswegen haben das alle so übernommen (auch ich mal).
    Mittlerweile habe auch ich mitbekommen (aus den PHP Forum) das man trotzdem alle Spaltennamen da auflisten soll und das (*) weglassen soll.

    Ok. Aber gehört das auch zu den Fehlern die eine SQL Injection auslösen

    *Zu der Liste.


    Ich habe noch eine alte version mit der die Liste funktioniert, dennoch habe ich die befüchtung das darin auch ein SQL Injection Fehler ist