Kommentare einfügen, p_id = NULL

  • Hallo,


    Unter jedem Post-Eintrag kann man Kommentare schreiben. In der Datenbank soll die k_id(Kommentar-ID), p_id(Post-Id), u_id(User-ID), Comment, Datum eingetragen werden.


    Jeder Post hat eine p_id. Wenn ein Nutzer ein Kommentar schreibt dann muss man auch wissen unter welchen POST. Jetzt wollte ich die p_id in die Datenbank speichern sobald der Nutzer ein Kommentar eingibt jedoch bekomm ich diese Fehlermeldung: Array ( [0] => 23000 [1] => 1048 [2] => Column 'p_id' cannot be null ) .


    Bei paar Post-Einträge klappt es und es steht (string(1) "6") jedoch wird das Kommentar nicht gespeichert obwohl erfolg steht. Bei manchen steht das da oben mit Column p_id cannot be Null.


    Bin total verwirrt. Den Code werde ich aufjedenfall noch sauberer schreiben jedoch stört mich grad das Problem mit dem Kommentar.


    Hier ein Bild von der Situation:

    _______________________



    Bild von der DB:

    __________________



    Code:

  • Du hast keine p_id in der $row.

    Aber Du hast eine u_post.p_id.

    BTW:

    Daten die ausgegeben werden immer maskieren.

    Auch, wenn sie aus Deiner db sind.

    zB

    PHP
    <li><h2><?php echo htmlspecialchars($row['username']); ?></h2></li>

    Auch ids und was nicht alles.

    Was ausgegeben wird, wird maskiert.

    :)

  • cottton Aber was muss ich den jetzt verbessern bzw ändern am Code das es funktoniert? Und wieso steht bei POST eine Fehlermeldung? Eig müsste nur die Fehlermeldung kommen von einem Post. Bild ist oben vorhanden wenn du weißt was ich meine. Danke erstmal für die schnelle Antwort :)

  • Die values sind nicht vorhanden, die Du binden willst.

    Mach mal var_dump() auf die row p_id und die session id:

    Ich verstehe allerdings auch nicht, warum es ein INSERT INTO bei einem Button "Show" gibt.

    Evtl wolltest Du dort ein SELECT ?

  • Aber wieso zeigt er mir bei session_id = NULL an? Ich habe ebenfalls bei einem anderen Skript in der gleichen Datei eine INSERT abfrage wo auch $_SESION['id'] eingefügt werden soll in der DB da klappt es.


    Um die Kommentare anzeigen zu lassen habe ich schon eine SELECT abfrage. Jetzt muss ich halt nur noch erstellen das jemand ein Kommentar schreiben kann. Keine Ahnung wieso der Button Show heißt :D

  • Hey,


    warum willst du die Session "Id" abspeichern ?


    Ein User hat bei mir in der Datenbank die Spalten: id, username, password, birthday, age, right, isOnline.


    Wenn der User sich registriert wird eine neue Zeile erstellt, die alle Spalten befüllt. Da hast du doch die id des jenigen schon. Da selektierst du dann einfach die id, username, age von dem User welcher sich grad anmeldet. Bei der Anmeldung erstellst du dann 2 Sessions welche dann die, aus der DB gezogenen Daten, erhalten:


    1. ID , -> Id aus der db des users
    2. Access, -> der gibts du dann den boolean Wert true


    Die Id nimmst du dann um zu erkennen wer was gepostet hat und für deren ihre Profilseite und Access verwendest du zur überprüfung ob dies vorhanden ist und zum zerstören der Session beim logout.

  • Da hast du recht. Das wird geändert. Ich verstehe aber nicht wieso ich nichts kommentieren kann. Wenn ich etwas kommentiere möchte dann gibt er mir string(0) aus. .

  • Ok.


    Zeige mal bitte nochmals deinen aktuell kompletten Code her.


    Wir können es auch wenn du willst per Teamviewer mal anschauen. Wenn du es willst einfach ne PN senden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!