Ankündigung

Einklappen
Keine Ankündigung bisher.

Keine Datenübergabe zu SQL

Einklappen

Neue Werbung 2019

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

  • Keine Datenübergabe zu SQL

    ich möchte daten in eine sql datenbank eintragen und auslesen können:

    hab folgende code:
    PHP-Code:
    <html>
    <head>
    <?php
        
    if (isset($_POST["gesendet"]))
        {
            
    mysql_connect("xxxxxxxx","xxxxxx","xxxxxx");
            
    mysql_select_db("xxxxxxx");
            
            
    $sqlab "insert into personen"
                
    "(name, vorname, personalnummer,"
                
    " gehalt, geburtstag) values "
                
    "('" $_POST["na"] . "', "
                
    "'" $_POST["vn"] . "', "
                
    $_POST["pn"] . ", "
                
    $_POST["ge"] . ", "
                
    "'" $_POST["gt"] . "')";

                
    mysql_query($sqlab);
                echo 
    mysql_error(). "\n";
                            
    $num mysql_affected_rows();
                if (
    $num>0)
                {
                    echo 
    "<p><font color='#00aa00'>";
                    echo 
    "Es wurde 1 Datensatz hinzugefügt";
                    echo 
    "</font></p>";
                }
                else
                {
                    echo 
    "<p><font color='#ff0000'>";
                    echo 
    "Es ist ein Fehler aufgetreten. ";
                    echo 
    "es wurde kein Datensatz hinzugefügt";
                    echo 
    "</font></p>";
                }
        }
    ?>
    </head>
    <body>
    <p>Geben Sie bitte einen vollständigen Datensatz ein<br/>
    und senden Sie das Formular ab:</p>
    <form action = "p413.php" method = "post">
        <p><input name="na" /> Name</p>
        <p><input name="vn" /> Vorname</p>
        <p><input name="pn" />
            Personalnummer (eine ganze Zahl)</p>
        <p><input name="ge" /> Gehalt
            (Nachkommastellen mit Punkt)</p>
        <p><input name="gt" /> Geburtsdatum
            (in der Form JJJJ-MM-TT)</p>
        <p><input type="submit" name="gesendet" />
        <input type="reset" /></p>
    </form>

    <p>Alle Datensätze <a href="p407.php">anzeigen</a></p>
    </body>
    </html>

    Als Fehlermeldung erhalte ich dann die obige:
    Es ist ein Fehler aufgetreten & es wurde nix hinzugefügt.

    Beide Dateien sind als.php abgespeichert.
    Liegt es daran, dass in beiden eine Verbindung aufgebaut wird ??


  • #2
    Wie, „als Funktion“? Was hat Code2 mit der Frage zu tun?
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      autsch - habs mal direkt abgeändert.

      Kommentar


      • #4
        Im SQL-Statement INSERT INTO
        Es ist schon alles gesagt. Nur noch nicht von allen.

        Kommentar


        • #5
          into eingefügt = Fehlermeldung bleibt gleich...

          (bis zur behebung trage ich alle änderungen oben direkt ein (wie das into)..habs nun schon fast hinbekommen es im php code reinzuschreiben

          Kommentar


          • #6
            nach dem gehalt im sql statement fehlt ein "," (ohne ") aber wie wärs einfach sich die fehler ausgeben zulassen o.O?

            Kommentar


            • #7
              aber da ist doch schon ein ", "

              Kommentar


              • #8
                wo ist denn bitte hier ein komma?

                Code:
                insert into personen"
                            . "(name, vorname, personalnummer,"
                            . " gehalt geburtstag)
                ZWISCHEN gehalt und geburtstag?! .... ebenfalls ist kein leerzeichen zwischen tabellen-name und der definition der tabellen-spalten.. wobei ich grad nicht weiss ob das zwingend notwenig ist oder der parser da nen fehler auspuckt.

                Kommentar


                • #9
                  Komma eingefügt = Fehlermeldung bleibt gleich.

                  Leerzeichen laut Buch nicht erforderlich.

                  Kommentar


                  • #10
                    1) du gibts überhaupt keine fehlermeldungen aus! siehe error_reporting(), mysql_error(), .....
                    2) ok, auch was gelernt
                    3) tabelle, datenbank, verbindung, etc ist auch alles so vorhanden ja? - und die zugangsdaten auch richtig?!


                    wie man sieht, ohne fehlermeldungen sucht man lange, oder findet erst garkeinen fehler!

                    Kommentar


                    • #11
                      evtl. die sql befehle "INSERT INTO" und "VALUES" großschreiben?

                      Kommentar


                      • #12
                        Ändere mal das:

                        mysql_query($sqlab);

                        in

                        mysql_query($sqlab) or die(mysql_error());
                        PHP-Code:
                        if ($var != 0) {
                          
                        $var 0;

                        Kommentar


                        • #13
                          Leute das sind Grundlagen!! Debugging:SQL - PHP.de Wiki
                          --

                          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                          --

                          Kommentar


                          • #14
                            Bischen unübersichtlich...

                            Und mal benutzt du einfache Hochkommatas (')
                            PHP-Code:
                            "'" $_POST["vn"] . "', " 
                            und dann wiederum nicht:
                            PHP-Code:
                            $_POST["pn"] . ", " 
                            Ich habe mal versucht, deine Anweisung wieder zusammen zu setzen:

                            PHP-Code:
                            $sqlab "insert into personen (name, vorname, personalnummer, gehalt, geburtstag) values (' "$_POST["na"]." ', ' " $_POST["vn"] . " ', ' ".$_POST["pn"]." ',' " $_POST["ge"] . " ', ' " $_POST["gt"] . " ')"
                            Die fehlenden (') bei
                            PHP-Code:
                            $_POST["pn"] . ", " 
                            und
                            PHP-Code:
                            $_POST["ge"] . ", " 
                            habe ich mal ergänzt.
                            Die vielen Leerzeichen habe ich gesetzt, um die (") und (') etwas besser auseinander halten zu können. Kannst du gerne wieder entfernen. Versuchs einfach mal so. Ansonsten nochmal probieren, die $_POST["ge"] und auch die anderen POST-Daten umzuschreiben in $_POST['ge'] usw. Kein Ahnung, ob das was hilft...
                            Ist ohne error_reporting wirklich schwer zu sagen.
                            Schönen Tag noch.

                            Kommentar


                            • #15
                              Hat geklappt !!! Vielen, vielen Dank !!

                              Hab die Änderung auf Seite 1 im Quelltext eingetragen, so dass nachfolgende
                              Anfragen unnötig sein dürften.

                              Habt einen schönes WE !!!
                              maz

                              Kommentar

                              Lädt...
                              X