formular -> mysql: kommt nicht in datenbank an

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • formular -> mysql: kommt nicht in datenbank an

    hallo,
    bin noch anfänger und hab mir nen formular gebastelt
    was mir daten in ne mysql datenbank eintragen soll..
    nur irgendwo kommen in der datenbank keine daten an :(
    und es wird mir auch kein fehler angezeigt :(

    kann mal jemand über meine dateien schaun ... währe echt nett :)

    Quellcode

    1. <label>
    2. <?php
    3. // zugangsdaten laden
    4. include("zugangsdaten.php");
    5. // verbindung herstellen
    6. $ verbindung = mysql_connect($dbhost,$dbuser,$dbpass) or die ("Keine Verbindung moeglich");
    7. // datenbank auswählen
    8. mysql_select_db("test") or die ("Die Datenbank existiert nicht");
    9. //variablen festlegen
    10. $id = $_POST["id"];
    11. $url = $_POST["url"];
    12. $hpname = $_POST["hpname"];
    13. $name = $_POST["name"];
    14. $banner = $_POST["banner"];
    15. $beschreibung = $_POST["beschreibung"];
    16. // gespeicherte daten nochmal anschauen ...
    17. echo "id: <input type='text' name'textfield' id='textfield' value='$id'><br>";
    18. echo "url: <input type='text' name='textfield' id='textfield' value='$url'><br>";
    19. echo "hpname: <input type='text' name='textfield' id='textfield' value='$hpname'><br>";
    20. echo "name: <input type='text' name='textfield' id='textfield' value='$name'><br>";
    21. echo "banner: <input type='text' name='textfield' id='textfield' value='$banner'><br>";
    22. echo "beschreibung: <input type='text' name='textfield' id='textfield' value='$beschreibung'><br>";
    23. //daten eintragen
    24. $eintrag = "INSERT INTO links (id, url, urlname, name, banner, beschreibung) VALUES ('$id', '$url', '$hpname', $name', '$banner','$beschreibung')";
    25. $eintragen = mysql_query($eintrag);
    26. // verbindung beenden
    27. mysql_close($verbindung);
    28. ?>
    29. <h1>daten eingetragen!</h1>
    30. </label>
    Alles anzeigen


    mein formular brauche ich ja nich zu posten oder ?
  • habe oben das hier eingefügt:

    Quellcode

    1. <?php
    2. echo mysql_error();
    3. // zugangsdaten laden


    und unten hab ich das jetzt so :

    Quellcode

    1. $eintragen = mysql_query($eintrag);
    2. if(!mysql_query($eintrag)){
    3. echo "<br><h1>daten eingetragen!</h1><br>";
    4. }else{
    5. echo "<br><h1>fehler beim eintragen der daten!</h1><br>";
    6. }
    7. mysql_close($verbindung);


    also wenn ich das formular jetzt ausführe sagt er mir am ende
    daten eingetragen ...
    und es wird kein fehler angezeigt !

    was soll ich jetzt machen ? :(
  • HeHe ... :D

    php.net sagt:
    mysql_error — Liefert den Fehlertext der zuvor ausgeführten MySQL Operation

    Heisst dann natürlich, dass die Funktion in deinem Fall hinter den Query gehört.



    Hier kommst du selber drauf wo dein fehler ist, ich habe das mysql_error schonmal als kleine Hilfestellung eingebaut ;)

    Quellcode

    1. $eintragen = mysql_query($eintrag);
    2. if(!mysql_query($eintrag)){
    3. echo "<br><h1>daten eingetragen!</h1><br>";
    4. echo mysql_error();
    5. }else{
    6. echo "<br><h1>fehler beim eintragen der daten!</h1><br>";
    7. echo mysql_error();
    8. }
    9. mysql_close($verbindung);
  • Das sollte auch nur eine Hilfestellung sein.

    Guck dir mal die Logishen Operatoren an.
    reeg.junetz.de/DSP/node13.html#SECTION05124400000000000000
    Ganz besonders die Bedeuting des "!"

    In Bezug auf diese Zeile.

    Quellcode

    1. if(!mysql_query($eintrag)){


    Und dann natürlich nur da das mysql_error() hinsetzen, wo es hingehört ;)


    Das die Daten doppelt drin erscheinen liegt daran, dass es 2 mysql_query() gibt.

    Quellcode

    1. // $eintragen = mysql_query($eintrag); das gehört natürlich raus
    2. if(!mysql_query($eintrag)){
  • also wenn ich das das richtig verstanden hab ...
    also um es ganz einfach zu sagen das ! bedeutet, dass ich bei diesem code hier:

    Quellcode

    1. if(!mysql_query($eintrag)){
    2. echo "<br><h1>daten eingetragen!</h1><br>";
    3. echo mysql_error();
    4. }else{
    5. echo "<br><h1>fehler beim eintragen der daten!</h1><br>";
    6. echo mysql_error();
    7. }


    das "daten eintragen" und "fehler beim eintragen der daten!" vertauscht wurde ...

    richtig ? :D
  • Hallo

    ! bedeutet Negation
    mysql query liefert ja eine Ressource id zurück. wenn ein solches zurückgegeben wird, nimmt die if abfrage es als true auf
    wenn die abfrage fehlgeschlagen ist, wirds als false interpretiert.

    wenn du ! davor machst, kehrst du die wirkung um

    bei dir im code steht also:

    wenn (die abfrage nicht wahr ist){
    daten erfolgreich eingetragen
    }ansonsten{
    fehler
    }

    also richtig ^^

    Moderator: Bitte keine Direktzitate.