Problem mit Prepared Statements

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Problem mit Prepared Statements

    Hallo!
    Ich habe ein Problem mit meinem Seitenaufbau-Log Script, das verweigert seinen Dienst! Es gibt KEINE (Error - Reporting ist an!) Fehlermeldungen!
    Eigentlich musste das Script die Daten in die Datenbank schreiben, statdessen stehen aber z.B. nur die Fragezeichen drinn, die ja eigentlich nur der Platzhalter für die Prepared Statements sind.


    PHP-Code:
    if (!empty ($UserID)) {
     
    $UserID null;
     };

        
    $sql 'INSERT INTO 
                            log (ip, user, time, action) 
                        VALUES 
                            (?, ?, ?, ?)'
    ;
        
    $stmt $db->prepare($sql);
        if (!
    $stmt) {
            return 
    $db->error;
        }
            
        
    $stmt->bind_param('siss'$ip$UserID$time$site);
        if (!
    $stmt->execute()) {
            return 
    $stmt->error;
        }
        
    $stmt->close(); 
    Ich hoffe auf schnelle Hilfe!

  • #2
    Hallo,

    wenn ein Fehler auftritt, gibst du ihn mit return zurück. Kann es sein, dass du diesen Rückgabewert nie zur Ausgabe bringst und nur deshalb keine Fehler gemeldet werden?

    Verständnisfrage: Warum wird die $UserID auf null gesetzt, wenn was drin steht?

    Versuch mal, alle Namen von Tabellen und Spalten in `` einzuschließen. Ich bin gerade nicht sicher, welche davon alle reservierte Schlüsselwörter sein könnten. Log ist z. B. eine mathematische Funktion und time ein Datentyp.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Zitat von AmicaNoctis Beitrag anzeigen
      Hallo,

      wenn ein Fehler auftritt, gibst du ihn mit return zurück. Kann es sein, dass du diesen Rückgabewert [...]
      Hallo,

      Das mit dem Return stimmte, da hatte ich einen kleinen Fehler gemacht der mittlerweile aber schon behoben ist, nun bekommen ich folgende Fehlermeldung:

      Code:
      Column 'user' cannot be null
      Ich habe die Striche ausprobiert kein Unterschied noch eine andere Idee?

      Gruß

      Janis

      Kommentar


      • #4
        Grundlegendes Debugging ...?

        Kontrollausgabe der Werte, die du ans Statement zu binden versuchst, wäre der nächste logische Schritt.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Wenn user nicht null sein darf, solltest du die $UserID vielleicht doch nicht einfach immer auf null setzen:

          PHP-Code:
          if (!empty ($UserID)) {
           
          $UserID null;
          }; 
          Das hatte ich dir aber eher schon gesagt, dass das nach Unsinn aussieht.
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar

          Lädt...
          X