MySQL5.0 auf 1&1 Probleme mit INSERT INTO

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

  • MySQL5.0 auf 1&1 Probleme mit INSERT INTO

    Hallo, ich arbeite mich gerade in PHP & MySQL ein und benutze hierzu das Buch PHP & MySQL von O'Reilly. Bisher fand ich alles ganz verständlich.
    Nun habe ich Probleme mit dem php Skript INSERT INTO. Ich bin das Skript jetzt 1000 mal durchgegangen und finde den Fehler nicht. Kann mir jemand helfen?

    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Application Form</title>
    </head>
    
    <body>
    <h1>Online Application</h1>
    <?php
    $position = $_POST["position"];
    $first_name = $_POST["firstname"];
    $family_name = $_POST ["familyname"];
    $e_mail = $_POST["email"];
    $street = $_POST["street"];
    $number = $_POST["number"];
    $postal_code = $_POST["postalcode"];
    $city = $_POST["city"];
    $country =$_POST["country"];
    $phone = $_POST["phone"];
    $cellphone = $_POST["cellphone"];
    $date_of_birth = $_POST["dateofbirth"];
    
    $db = mysql_connect('eeeee','33333','passwort', 'db12345')
        or die('Fehler beim Verbinden mit MySQL-Server.');
    
    
    $sql = "INSERT INTO applicants (position, firstname, familyname, email, ".
    "street, number, postalcode, city, country, phone, cellphone)".
    "VALUES ('$position', '$first_name', '$family_name', '$e_mail', '$street',".
    "'$number', '$postal_code', '$city','$country','$phone','$cellphone')";
    
    $ergebnis = mysql_query($db,$sql) or die ('Fehler bei der Datenbankabfrage');
    
    
    mysql_close($db);
    Wäre echt dankbar für Eure Hilfe!

    Vielen Dank, Rachel

  • #2
    Was ist jetzt dein Problem?

    In dem Script fehlt das SQL-Escaping.

    Kommentar


    • #3
      Kannst Du mir bitte kurz erklären, was das ist? Sorry, bin blutiger Anfänger... Danke schon mal

      Kommentar


      • #4
        Er wollte aber wissen, was du als Ergebnis erwartest aber nicht eintrifft. Möglichst genau beschreiben was nicht passiert oder ob Fehler gemeldet werden, etc. pp.

        Über SQL-Escaping findest du bei Google sehr viele hilfreiche Dinge.


        Gib dir mal das SQL-Statement mit

        PHP-Code:
        echo $sql
        aus. Dann weisst du auch, was übergeben wird und siehst den uns unbekannten Fehler vielleicht selbst.

        Kommentar


        • #5
          Escape Zeichen

          Gibt es irgendwelche Fehler? Was passiert genau? Gib dein SQL Statement mal aus und füge es evtl. mal in phpmyadmin ein um zu sehen, ob es stimmt.

          mfg streuner
          Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
          der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

          "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

          Kommentar


          • #6
            Zum Thema Escaping: SELFHTML Artikel: Kontextwechsel - bitte durcharbeiten.

            Und zu deiner eigentlichen Fragestellung - es ist überhaupt keine erkennbar, nicht einmal eine Problembeschreibung lieferst du, außer das wohl irgendwas „nicht funktioniert“. Bitte eine nachvollziehbare Problembeschreibung liefern.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Also ich habe ein html formular "online application" und möchte, dass die eingegebenen Daten mithilfe eines php skripts automatisch in eine SQL Datenbank eingefügt werden.
              Wenn ich die html Datei online teste, bekomme ich lediglich die Fehlermeldung "Fehler bei der Datenbankabfrage", welche durch das or die ausgelöst wird. Ansonsten bekomme ich keine Fehlermeldung, auch nicht durch echo $ sql ....

              Kommentar


              • #8
                PHP: mysql_error - Manual

                Kommentar


                • #9
                  Ich hoffe, dass die Problembeschreibung oben nun nachvollziehbar ist. Ich bekomme keine Fehlermeldung außer "Fehler bei der Datenbankabfrage". Scheinbar hat von Euch auch niemand einen Fehler in meinem Skript gefunden, oder?

                  Kommentar


                  • #10
                    Hallo,

                    $db und $sql sind bei mysql_query vertauscht.

                    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


                    • #11
                      funktioniert immer noch nicht ...

                      Kommentar


                      • #12
                        Zitat von RachelS Beitrag anzeigen
                        funktioniert immer noch nicht ...
                        Ist immer noch keine nachvollziehbare Problembeschreibung ... liefere jetzt bitte eine, sonst wandert dieser Thread auf den Müll.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Du wurdest schon einmal darauf hingewiesen, dass "funktioniert nicht" keine Problembeschreibung ist. Du willst Hilfe? Dann lies dir alle Hinweise nochmal durch und beherzige sie bitte. Du kannst dann gerne den korrigierten Code nochmal posten, damit man sieht, wie weit du mit den Hinweisen gekommen bist. Im Moment sehen wir ja nur den falschen Code und der bringt uns nicht weiter.
                          [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


                          • #14
                            Also anbei noch mal der geänderte Code. Ich habe weiterhin das Problem, dass die Daten, die ich in das HTML Formular eingebe, nach dem Klicken auf den Submit Button nicht in die Tabelle applicants in der SQL Datenbank (MySQL5.0) landen. Ich erhalte lediglich die Meldung "Fehler bei Datenbankabfrage". Eine andere Fehlermeldung bekomme ich nicht.


                            Code:
                            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                            <html xmlns="http://www.w3.org/1999/xhtml">
                            <head>
                            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                            <title>Application Form</title>
                            </head>
                            
                            <body>
                            <h1>Online Application</h1>
                            <?php
                            $position = $_POST["position"];
                            $first_name = $_POST["firstname"];
                            $family_name = $_POST ["familyname"];
                            $e_mail = $_POST["email"];
                            $street = $_POST["street"];
                            $number = $_POST["number"];
                            $postal_code = $_POST["postalcode"];
                            $city = $_POST["city"];
                            $country =$_POST["country"];
                            $phone = $_POST["phone"];
                            $cellphone = $_POST["cellphone"];
                            $date_of_birth = $_POST["dateofbirth"];
                            
                            $db = mysql_connect('db12345','dbo12345','password', 'db3456')
                                or die('Fehler beim Verbinden mit MySQL-Server.');
                            
                            
                            $sql = "INSERT INTO applicants (position, firstname, familyname, email, ".
                            "street, number, postalcode, city, country, phone, cellphone)".
                            "VALUES ('$position', '$first_name', '$family_name', '$e_mail', '$street',".
                            "'$number', '$postal_code', '$city','$country','$phone','$cellphone')";
                            
                            $ergebnis = mysql_query($sql, $db) or die ('Fehler bei Datenbankabfrage');
                            
                            echo mysql_errno() . ": " . mysql_error(). "\n";
                            
                            mysql_close($db);
                            
                            
                            
                            echo "Dear " .$firstname . ",<br/>";
                            echo "Thank you very much for your application. We will contact you as soon as possible. <br/>
                            Jobrobbie";
                            
                            $an = 'info@testjob.de';
                            $betreff = 'Neue Bewerbung';
                            $msg = "$firstname hat sich mit der Emailadresse $email als $position beworben und moechte arbeiten";
                            mail ($an, $betreff, $msg, 'From:' .$email);
                            
                            ?>
                            </body>
                            </html>

                            Kommentar


                            • #15
                              Zitat von RachelS Beitrag anzeigen
                              Ich erhalte lediglich die Meldung "Fehler bei Datenbankabfrage". Eine andere Fehlermeldung bekomme ich nicht.
                              Natürlich - weil du dein Script mit dieser nichtssagenden Fehlermeldung sterben lässt.

                              PHP-Code:
                              $ergebnis mysql_query($sql$db) or die ('Fehler bei Datenbankabfrage');

                              echo 
                              mysql_errno() . ": " mysql_error(). "\n"
                              Die nachfolgende Zeile, die wirklich brauchbare Informationen zum Fehler liefern könnte, wird durch das die() gar nicht mehr ausgeführt.

                              Du solltest dir schon bewusst machen, was der Code, den du geschrieben hast, eigentlich tut.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X