Problem mit insert Befehl (ueber php)

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

  • Problem mit insert Befehl (ueber php)

    Also ich versuch grad php zu lern un d bis jetzt gings auch alles ganz glatt...

    doch jetzt haenge ich und zwar habe ich eine Datenbank in mysql der name der daten bank ist 'blynde' und die tabelle heisst 'members'
    in dieser tabelle ist bereits ein Member. Diesen kann ich auch ueber php abrufen.

    So nun will ich aber ueber php weitere Members in die Tabelle einfuehgen.
    Ich hab dafuer ein formular und ein php script so nur wenn ich jetzt alles eintrage und auf senden klicke laed die Seite neu aber nichts passiert ... auch keine Fehlermeldung oder erflogreiche meldung. nur die gleiche seite wieder.....

    bitte helft mir was is da falsch

    hier der code:

    der Datei name ist hallo3.php und der link zum abrufen geht ... aber da is halt immer nur der eine Eintrag.

    "
    PHP-Code:
    <html>
    <head>
    <?php
       
    if ($sende)
       {
          
    $db mysql_connect();

          
    $sqlab "insert members";
          
    $sqlab .= "(nick, function, status,";
          
    $sqlab .= " email, info) values ";
          
    $sqlab .= "('$ni', '$fu', $st$em, '$in')";

            
    mysql_db_query("blynde"$sqlab) or die(mysql_error());

          
    $num mysql_affected_rows();
          if (
    $num>0)
             echo 
    "Es wurde 1 Datensatz hinzugefügt<p>";
          else
          {
             echo 
    "Es ist ein Fehler aufgetreten, ";
             echo 
    "es wurde kein Datensatz hinzugefügt<p>";
          }
          
    mysql_close($db);
       }
    ?>
    </head>
    <body>
    Geben Sie einen vollständigen Datensatz ein und senden Sie das
    Formular ab:
    <form action = "hallo3.php" method = "post">
    <input name="ni"> nick<p>
    <input name="fu"> function<p>
    <input name="st"> status<p>
    <input name="em"> email<p>
    <input name="in"> info<p>
    <input type="submit" name="sende">
    <input type="reset">
    </form>

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


    danke !
    Zuletzt geändert von reVen; 10.04.2004, 16:59.

  • #2
    1.
    PHP-Code:
    mysql_db_query("blynde"$sqlab) or die(mysql_error()); 
    ^^ sollte den fehler aufzeigen

    2. solltest du mysql_select_db() und mysql_query() verwenden statt mysql_db_query() (<= ist veraltet)

    3. benutze bitte die php-tags, um code zu posten ... es liest sich besser
    Kissolino.com

    Kommentar


    • #3
      hm hat leider nichts gebracht ... keine Fehlermeldung und functionieren tuts au net....

      An der veralteten schreibweise liegt es glaub ich auch nicht, da ich mal weiter gemacht habe und das edit scipt functiniert .... also ich kann eintraege editieren ueber php aber keine neuen erstellen ......

      Kommentar


      • #4
        was ergibt
        PHP-Code:
        echo $sqlab
        ?... setz die ausgabe mal im phpmyadmin ab wenn sie so ist wie erwartet
        Kissolino.com

        Kommentar


        • #5
          Original geschrieben von reVen
          hm hat leider nichts gebracht ... keine Fehlermeldung und functionieren tuts au net....

          An der veralteten schreibweise liegt es glaub ich auch nicht, da ich mal weiter gemacht habe und das edit scipt functiniert .... also ich kann eintraege editieren ueber php aber keine neuen erstellen ......
          was meinst du damit genau ? also ohne erklaerung hilft mir das wenig (arbeite ja erst seid nem tag mit php ...)

          Kommentar


          • #6
            Erweitere Deine hallo3.php mal um die Zeile
            PHP-Code:
            echo $sqlab
            und dann postest Du hier, was dabei herauskommt.

            Kommentar


            • #7
              also hier das ergebniss:

              erst der code und dann was passiertwar mir nicht sicher wo ich das hinsetzen sollte)
              Ver1:
              PHP-Code:
              <html>
              <head>
              <?php
                 
              if ($sende)
                 {
                    
              $db mysql_connect();

                    
              $sqlab "insert members";
                    
              $sqlab .= "(nick, function, status,";
                    
              $sqlab .= " email, info) values ";
                    
              $sqlab .= "('$ni', '$fu', $st$em, '$in')";

                    
              mysql_select_db("blynde"$sqlab);

                    
              $num mysql_affected_rows();
                    if (
              $num>0)
                       echo 
              "Es wurde 1 Datensatz hinzugefügt<p>";
                    else
                    {
                       echo 
              "Es ist ein Fehler aufgetreten, ";
                       echo 
              "es wurde kein Datensatz hinzugefügt<p>";
                    }
                    
              mysql_close($db);
                 }
                 echo 
              $sqlab;
              ?>

              </head>

              <body>
              Geben Sie einen vollständigen Datensatz ein und senden Sie das 
              Formular ab:
              <form action = "hallo3.php" method="post">
                  <input name="ni"> nick<p>
                  <input name="fu"> function<p>
                  <input name="st"> status<p>
                  <input name="em"> email<p>
                  <input name="in"> info<p>
                  <input type="submit" name="sende">
                  <input type="reset">
              </form>

              Alle Datensätze <a href="hallo4.php">anzeigen</a>
              </body>
              </html>
              Es passiert nichts

              Ver2:
              PHP-Code:
              <html>
              <head>
              <?php
                 
              if ($sende)
                 {
                    
              $db mysql_connect();

                    
              $sqlab "insert members";
                    
              $sqlab .= "(nick, function, status,";
                    
              $sqlab .= " email, info) values ";
                    
              $sqlab .= "('$ni', '$fu', $st$em, '$in')";

                    
              mysql_db_query("blynde"$sqlab) or die(mysql_error());

                    
              $num mysql_affected_rows();
                    if (
              $num>0)
                       echo 
              "Es wurde 1 Datensatz hinzugefügt<p>";
                    else
                    {
                       echo 
              "Es ist ein Fehler aufgetreten, ";
                       echo 
              "es wurde kein Datensatz hinzugefügt<p>";
                    }
                    
              mysql_close($db);
                 }
                
              ?>

              </head>

              <body>
              Geben Sie einen vollständigen Datensatz ein und senden Sie das 
              Formular ab:
              <?php
              echo $sqlab;
              ?>
              <form action = "hallo3.php" method="post">
                  <input name="ni"> nick<p>
                  <input name="fu"> function<p>
                  <input name="st"> status<p>
                  <input name="em"> email<p>
                  <input name="in"> info<p>
                  <input type="submit" name="sende">
                  <input type="reset">
              </form>

              Alle Datensätze <a href="hallo4.php">anzeigen</a>
              </body>
              </html>
              Nichts passiert...

              Ver3:
              PHP-Code:
              <html>
              <head>
              <?php
                 
              if ($sende)
                 {
                    
              $db mysql_connect();

                    
              $sqlab "insert members";
                    
              $sqlab .= "(nick, function, status,";
                    
              $sqlab .= " email, info) values ";
                    
              $sqlab .= "('$ni', '$fu', $st$em, '$in')";

                    
              mysql_db_query("blynde"$sqlab) or die(mysql_error());

                    
              $num mysql_affected_rows();
                    if (
              $num>0)
                       {
                       echo 
              "Es wurde 1 Datensatz hinzugefügt<p>";
                       echo 
              $sqlab;
                       }
                    else
                    {
                       echo 
              "Es ist ein Fehler aufgetreten, ";
                       echo 
              "es wurde kein Datensatz hinzugefügt<p>";
                          echo 
              $sqlab;
                        }
                    
              mysql_close($db);
                 }
                
              ?>

              </head>

              <body>
              Geben Sie einen vollständigen Datensatz ein und senden Sie das 
              Formular ab:

              <form action = "hallo3.php" method="post">
                  <input name="ni"> nick<p>
                  <input name="fu"> function<p>
                  <input name="st"> status<p>
                  <input name="em"> email<p>
                  <input name="in"> info<p>
                  <input type="submit" name="sende">
                  <input type="reset">
              </form>

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

              nichts passiert....


              also bisher passiert gar nichts

              ABER wo muss ich es denn genau einfuehgen ?

              danke

              Kommentar


              • #8
                Du sollst echo $sqlab dort einfügen, wo es hingehört.

                PHP-Code:
                $sqlab .= "('$ni', ..."
                echo $sqlab
                Im übrigen sollte Deine INSERT-Anweisung so aussehen:

                PHP-Code:
                $sqlab "INSERT members";
                $sqlab .= "(nick, function, status,";
                $sqlab .= " email, info) VALUES ";
                $sqlab .= "('".$_POST['ni']."', '".$_POST['fu']."', ";
                $sqlab .= "'".$_POST['st']."', '".$_POST['em']."', '".$_POST['in']."')"

                Kommentar


                • #9
                  LOL es geht . Vielen dank fuer eure tipps auch wenn sie nicht zur loesung verholfen haben aber das konntet ihr gar nicht ...

                  lol 3 stunden rumfummeln und am schluss liegt es daran das es einfach in dem firbird browser nicht geht (nur das; alle anderen scripte gehn) hab grad zufaellig alles im m$ explorer versucht und es laeuft !
                  lol

                  Kommentar


                  • #10
                    Nicht zur Lösung verholfen? Also geht's doch nicht, oder wie?

                    Kommentar


                    • #11
                      naja ich hab je nichte gaendert nur den explorer ;-)

                      Kommentar


                      • #12
                        Sehr unwahrscheinlich, dass es am Browser lag.

                        Kommentar


                        • #13
                          war aber so....

                          Kommentar


                          • #14
                            Dennoch unwahrscheinlich. Jeder Browser verarbeitet Formularangaben gleich. Da PHP serverseitig ausgeführt und dann an den Browser geschickt wird, zeigt jeder Browser das Ergebnis gleich an (es sei denn, man benutzt browserspezifische Methoden, etwas darzustellen; dies ist dann aber nicht Sache von PHP).

                            Kommentar


                            • #15
                              OffTopic:
                              SERVERSEITIGE Programme kann der Firebird nicht ausführen! (Der Internet Explorer aber auch nicht )

                              Kommentar

                              Lädt...
                              X