Datensatz in db schreiben

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

  • Datensatz in db schreiben

    HI!

    Ich schaff es nicht, datensätze in eine Datenbank zu schreiben.

    Mein Code sieht folgendermaßen aus: (wp_project.php)

    include=("config.php")
    $db = mysql_connect("$dbhost", "$dbusr", "$dbpass");
    mysql_select_db("dbname",$db);

    $sql="INSERT INTO kummerkasten VALUES('','$anrede','$name','$email','$kdnr','$ordernr','$maschinennr','$range','$comment','','$atta chment','','')";
    $result=mysql_query($sql,$db);

    $ticketnum=mysql_insert_id();


    die config.php sieht so aus:

    <?php

    $dbhost = "localhost";
    $dbuname = "root";
    $dbpass = "";
    $dbname = "wp_project";
    ?>

    Die Variablen kommen alle aus einem Eingabeformular, welches die wp_project.php aufruft!!

    mfg

    Flo

  • #2
    Wie lautet die Fehlermeldung?

    Hast du Verbindung zur Datenbank?

    Kommentar


    • #3
      ich bekomme keine Fehlermeldung!

      Das wp_project.php Skript soll die Werte des Eingabeformulars in die Datenbank schreiben und dann noch auf dem Bildschirm als "Bestätigung" ausgeben!

      die komplette wp_project.php sieht so aus:

      <HTML>
      <HEAD>
      <TITLE>Support Request</TITLE>
      </HEAD>
      <body>
      <?php

      include("config.php");

      $db = mysql_connect("$dbhost", "$dbusr", "$dbpass");
      mysql_select_db("dbname",$db);

      $sql="INSERT kummerkasten VALUES('','$anrede','$name','$email','$kdnr','$ordernr','$maschinennr','$range','$comment','','$atta chment','','')";
      $result=mysql_query($sql,$db);

      $ticketnum=mysql_insert_id();

      $comment = htmlspecialchars("$comment", ENT_QUOTES);
      $custsdes = htmlspecialchars("$custsdes", ENT_QUOTES);

      Echo "Anrede: $anrede<br>";
      Echo "Name: $name<br>";
      Echo "Email-Adresse: $email<br>";
      Echo "Kundennummer: $kdnr<br>";
      Echo "Maschinennummer: $maschinennr<br>";
      Echo "Auftragsnummer: $ordernr<br>";
      Echo "Produktfeld: $range<br>";
      Echo "Kommentar: $comment<br>";
      Echo "Dateianhang: $attachment<br>";
      Echo "<br><br><br>";

      ?>

      </body>
      </html>


      Woher erkenn ich ob ich eine Verbindung zur Datenbank hab?

      ciao

      Kommentar


      • #4
        Schreib mal hinter die Verbindung und den mysql_querybefehl "or die(mysql_error());"
        mfg
        Günni


        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
        City-Tiger - Online durch die Straßen tigern...

        Kommentar


        • #5
          Ich hab jetzt änderungen in der php.ini vorgenommen und
          bekomme jetzt folgende Fehlermeldungen:

          Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'ODBC@localhost' (Using password: NO) in c:\programme\apache group\apache\htdocs\wp_project.php on line 10

          Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\programme\apache group\apache\htdocs\wp_project.php on line 11

          Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\programme\apache group\apache\htdocs\wp_project.php on line 14

          Warning: mysql_insert_id() [function.mysql-insert-id]: A link to the server could not be established in c:\programme\apache group\apache\htdocs\wp_project.php on line 16
          Anrede: Herr
          Name: test
          Email-Adresse: test
          Kundennummer: 1661
          Maschinennummer: 61818
          Auftragsnummer: 168681
          Produktfeld: Produktkategorie 1
          Kommentar: test
          Dateianhang:


          Wo liegt der Hund begraben?!

          Kommentar


          • #6
            Du hast keinen Zugriff auf die MySQL Datenbank

            Warning: mysql_connect() [function.mysql-connect]: Access denied for user: 'ODBC@localhost' (Using password: NO)
            mfg
            Günni


            Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
            Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
            Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
            City-Tiger - Online durch die Straßen tigern...

            Kommentar


            • #7
              und wie bekomm ich den zugriff?

              der benutzer "root" in der mysql datenbank "mysql" hat überall ein "Y"!?

              Kommentar


              • #8
                Entweder du nutzt zum lokalen Testen den root user oder du richtest dir einen extra User ein.
                Wie das geht, siehe hier http://www.mysql.de/doc/de/User_Account_Management.html
                mfg
                Günni


                Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                City-Tiger - Online durch die Straßen tigern...

                Kommentar


                • #9
                  wenn ich den standartuser root ohne passwort wähle, also:

                  $db = mysql_connect("localhost", "root", "");
                  mysql_select_db("wp_project",$db);

                  schreibt er trotzdem keinen Datensatz in die Tabelle.
                  Fehlermeldung wird allerdings keine ausgegeben.=?!?!?!?

                  Kommentar


                  • #10
                    Wie sieht deine Usertabelle aus???
                    Meine User Tabelle sieht standardmässig so aus:
                    +-----------+------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+
                    | Host | User | Password | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Reload_priv | Shutdown_priv | Process_priv | File_priv | Grant_priv | References_priv | Index_priv | Alter_priv |
                    +-----------+------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+
                    | localhost | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
                    | % | root | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
                    | localhost | | | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
                    | % | | | N | N | N | N | N | N | N | N | N | N | N | N | N | N |
                    +-----------+------+----------+-------------+-------------+-------------+-------------+-------------+-----------+-------------+---------------+--------------+-----------+------------+-----------------+------------+------------+
                    mfg
                    Günni


                    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                    City-Tiger - Online durch die Straßen tigern...

                    Kommentar


                    • #11
                      Hi, meine user-Tabelle sieht folgendermaßen aus:
                      Hab jetzt gerade mysql 4.0.12 installiert und da sind folgende daten:

                      Host User password Select_priv Insert_priv Update_priv Delete_priv Create_priv Drop_priv Reload_priv Shutdown_priv Process_priv File_priv Grant_priv References_priv Index_priv Alter_priv Show_db_priv Super_priv Create_tmp_table_priv Lock_tables_priv Execute_priv Repl_slave_priv Repl_client_priv ssl_type ssl_cipher x509_issuer x509_subject max_questions max_updates max_connections

                      localhost root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y [BLOB - 0 Bytes] [BLOB - 0 Bytes] [BLOB - 0 Bytes] 0 0 0

                      % root Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y [BLOB - 0 Bytes] [BLOB - 0 Bytes] [BLOB - 0 Bytes] 0 0 0

                      localhost Y Y Y Y Y Y Y Y Y Y Y Y Y Y N N N N N N N [BLOB - 0 Bytes] [BLOB - 0 Bytes] [BLOB - 0 Bytes] 0 0 0

                      % N N N N N N N N N N N N N N N N N N N N N [BLOB - 0 Bytes] [BLOB - 0 Bytes] [BLOB - 0 Bytes] 0 0 0


                      Ist das in ordnung?
                      Kann ich so local mit root und keinem passwort mit der datenbank connecten?

                      Kommentar


                      • #12
                        Hast ne Firewall, die das blockiert?
                        Stopp mal den Service bei der Ampel und start ihn wieder.

                        Kommentar


                        • #13
                          ne, keine firewall!
                          außerdem läuft das ding nur lokal!

                          hab jetzt mal folgenden code ausprobiert:

                          $link = mysql_connect("localhost", "root", "");
                          if (!$link)
                          die("Kann den Server nicht erreichen.");
                          if (!mysql_select_db("project", $link))
                          {
                          echo"Kann die Datenbank nicht anwählen.";
                          }
                          else
                          {
                          echo"Die Verbindung steht!<p><p><p>";
                          }

                          Als ausgabe erscheint dann: "Die Verbindung steht"
                          D. h. ich bin mit der DB verbunden, oder?
                          Dann müsst ich doch mit dem befehl:

                          $sql="INSERT into kummerkasten VALUES('','$anrede','$name','$email','$kdnr','$ordernr','$maschinennr','$range','$comment','','$atta chment','','')";

                          die Eingaben des Formulars in der Datenbank speichern können.
                          Nachdem ich dass Formular abgeschickt hab steht jedoch in mysql in meiner tabelle kummerkasten kein eintrag drinn!?!?!?

                          Macht man dass nicht gewöhnlich so, dass man die variablen $dbhost, $dbuname, $dbpass und $dbname in einer eigenen php-datei speichert und diese dann mit inclue in das script einbindet?

                          Kommentar


                          • #14
                            Ja, ich mach das auch so. Bin gerade dabei deins bei mir durchzuführen!
                            Meld mich dann wieder.

                            Kommentar


                            • #15
                              Bei mir klappts. Nach dem Erstellen der DB hab ich neu gebootet.

                              Anbei das loesung.zip.

                              Darin enthalten: wp_project als sqldump und eine data.php = deine config.php und eine wp_project.php.

                              Bin gespannt obs dann bei dir klappt.
                              Angehängte Dateien

                              Kommentar

                              Lädt...
                              X