Insert ...

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

  • Insert ...

    kann jemand einen fehler entdecken, beim INSERT werden zusätzlich 3 leere datensätze in die datenbank geschrieben..., nur warum?


    PHP-Code:
    if(!isset($bestellen))
    {
        
    mysql_query("INSERT INTO artikel_kunde
                        (namen, telefon, kundenmail, strasse,
                         plz, ort, ip, date)
                      VALUES
                        ('
    $namen', '$telefon', '$kundenmail', '$strasse',
                         '
    $plz', '$ort', '$ip', '$date')"); 
        
    $meldung "Kundendaten wurden hinzugefügt."

    EDIT:
    formating by Abraxax
    Zuletzt geändert von Abraxax; 03.10.2003, 20:53.

  • #2
    was passiert mit mysql_error() ?
    ausgabe?

    PHP-Code:
    if(!isset($bestellen))
    {
        
    $sql "INSERT INTO artikel_kunde
                    (namen, telefon, kundenmail, strasse,
                     plz, ort, ip, date)
                VALUES
                    ('"
    .$namen."', '".$telefon."', '".$kundenmail."', '".$strasse."',
                     '"
    .$plz."', '".$ort."', '".$ip."', '".$date."')";
        echo 
    '<pre>'.$sql.'</pre>';
        
    $res mysql_query($sql) or die(mysql_error()); 
        
    $meldung "Kundendaten wurden hinzugefügt."

    1. welche spalten sind zusätzlich drin?
    2. sind diese in der tabelle definiert gewesen und nur in der query nicht angegeben?
    3. wie sieht deine tabellen-definition aus?
    4. sind oben verwendete variablen leer?
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      INSERT stimmt mit VALUES exakt überein, mysql_error() sagt garnichts, variablen sind ebenfalls vorhanden, werden ja auch in die datenbank geschrieben.

      Kommentar


      • #4
        wenn alles ok ist, verstehe ich deinen post nicht.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          wie viele spalten hat die datenbank?

          poste mal den geparsten Query.

          Kommentar


          • #6
            ich meinte ja auch, es wird der datensatz eingelesen + 3 zusätzlich leere datensätze. es existieren 9 spalten.

            ah, jetzt mysql_error() sagt: Column count doesn't match value count at row 1
            Zuletzt geändert von webviper; 03.10.2003, 21:27.

            Kommentar


            • #7
              das ist schonmal was, erklärt aber nicht warum drei datensätze eingefügt werden. BTW: mysql_error() müsste eben auch schon was zurückgegeben haben...

              zeig mal kompletten code!

              Kommentar


              • #8
                hier der komplette code;

                PHP-Code:

                 <? include("header.tpl") ?>

                 <?php
                 
                  $namen
                =$HTTP_POST_VARS['namen'];
                  
                $telefon=$HTTP_POST_VARS['telefon'];
                  
                $kundenmail=$HTTP_POST_VARS['kundenmail'];
                  
                $strasse=$HTTP_POST_VARS['strasse'];
                  
                $plz=$HTTP_POST_VARS['plz'];
                  
                $ort=$HTTP_POST_VARS['ort'];
                  
                $ip=$HTTP_POST_VARS['ip'];
                  
                $date=$HTTP_POST_VARS['date'];
                  
                  
                $zeichen_telefon="0123456789/-+()";
                  
                $a=0;
                  
                $b="";
                  
                $laenge=0;

                  if (
                $namen=="") {
                    print(
                "<b>Bitte den Vornamen eingeben &nbsp;<a href=javascript:() onMouseover=history.back(-1)>zur&#xFC;ck</a></b><br>");
                  }
                  if (
                $telefon=="") {
                     print(
                "<b>Bitte die Telefonnummer eingeben &nbsp;<a href=javascript:() onMouseover=history.back(-1)>zur&#xFC;ck</a></b><br>");
                   }
                  else {
                    
                $laenge=strlen($telefon);
                    for (
                $a=0$a<$laenge$a++) {
                      
                $b=substr($telefon$a,1);
                        if (
                strstr($zeichen_telefon$b)==false) {
                        print(
                "<b>Telefonnumer: Bitte nur Zahlen eingeben, keine Buchstaben &nbsp;<a href=javascript:() onMouseover=history.back(-1)>zur&#xFC;ck</a></b><br>");
                            break;
                           }
                      }
                   }

                  if (
                $email=="") {
                   print(
                "<b>Bitte die Mailadresse eingeben &nbsp;<a href=javascript:() onMouseover=history.back(-1)>zur&#xFC;ck</a></b><br>");
                }
                  
                ?>

                    <?
                    
                    
                        echo "<form action='mail_send.php' method='post'>\n";
                        
                        echo "<inputy type='hidden' name='namen' value='$namen'>\n";
                        echo "<inputy type='hidden' name='telefon' value='$telefon'>\n";
                        echo "<inputy type='hidden' name='kundenmail' value='$kundenmail'>\n";
                        echo "<inputy type='hidden' name='strasse' value='$strasse'>\n";
                        echo "<inputy type='hidden' name='plz' value='$plz'>\n";
                        echo "<inputy type='hidden' name='ort' value='$ort'>\n";
                        echo "<inputy type='hidden' name='ip' value='$ip'>\n";
                        echo "<inputy type='hidden' name='date' value='$date'>\n";
                        
                        
                        
                        
                        echo "<table width='550' border='0'>\n";
                        echo "<tr>\n";
                        echo "<td colspan='4'><b>Ihre persönlichen Daten für den Bestellvorgang ...</b><br><br></td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td>Vor- und Zuname:</td>\n";
                        echo "<td>$namen</td>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td>Telefonnummer:</td>\n";
                        echo "<td>$telefon</td>\n";
                        echo "<td>E-Mail:</td>\n";
                        echo "<td>$kundenmail</td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td>Strasse und Hr.:</td>\n";
                        echo "<td>$strasse</td>\n";
                        echo "<td>Wohnort:</td>\n";
                        echo "<td>$plz&nbsp;$ort</td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td><br><br></td>\n";
                        echo "</tr><tr>\n";
                        echo "<td colspan='4'><b>Sie bestellen folgende Artikel ...</b></td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td colspan='4'>$nachricht</td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "</tr>\n";
                        echo "<tr>\n";
                        echo "<td colspan='4'>&nbsp;</td>\n";
                        echo "</tr>\n";
                        echo "</table>\n";
                        
                        //* HIDDEN FELDER FUER ARTIKELVERSAND EMAIL *//
                        
                        echo "<table>\n";
                        echo "<tr>\n";
                        echo "<td>&nbsp;</td>\n";
                        echo "</tr>\n";
                        echo "</table>\n";
                        
                        //* AUSGABE WARENKORB *//
                        
                        include("connect.php");
                   
                        $result = mysql_query("SELECT * FROM artikel_teebestellung");
                        while ($myrow = mysql_fetch_array($result)) {
                        
                        echo "<table width='570' border='0'>\n";
                        echo "<tr>\n";
                        echo "<td>ID-Nr.:</td>\n";
                        echo "<td bgcolor='#CCCCCC'>Rubrik:</td>\n";
                        echo "<td bgcolor='#CCCCCC'>Art.Name</td>\n";
                        echo "<td bgcolor='#CCCCCC'>Art.-Nr.:</td>\n";
                        echo "<td bgcolor='#CCCCCC'>Art.-Farbe:</td>\n";
                        echo "<td bgcolor='#CCCCCC'>Art.-Preis</td>\n";
                        echo "<td bgcolor='#CCCCCC'>Art.-Menge</td>\n";
                        echo "<td bgcolor='#CCCCCC'>&nbsp;</td>\n";
                        echo "</tr><tr>\n";
                   
                        echo "<td bgcolor='#ffcc00'>$myrow[0]</td>\n";
                        echo "<td>$myrow[1]</td>\n";
                        echo "<td><b>$myrow[3]</b></td>\n";
                        echo "<td>$myrow[2]</td>\n";
                        echo "<td>$myrow[4]</td>\n";
                        echo "<td>$myrow[7]</td>\n";
                        echo "<td><div align='right'><input type='text' name='preis' value='$myrow[6]' size='5'></td>\n";
                   
                        echo "</tr><tr>\n";
                        echo "<td colspan='7'>&nbsp;</td>\n";
                   
                        echo "<input type='hidden' name='nr' value='$myrow[0]'>\n";
                        echo "<input type='hidden' name='rubrik' value='$myrow[1]'>\n";
                        echo "<input type='hidden' name='artnummer' value='$myrow[2]'>\n";
                        echo "<input type='hidden' name='artname' value='$myrow[3]'>\n";
                        echo "<input type='hidden' name='farbe' value='$myrow[4]'>\n";
                        echo "<input type='hidden' name='preis' value='$myrow[5]'>\n";
                        echo "<input type='hidden' name='menge' value='$myrow[6]'>\n";
                        
                        echo "</tr>\n";
                        echo "</table>\n";
                        
                        
                        
                        }
                        
                        echo "<table width='560'>\n";
                        echo "<tr>\n";
                        echo "<td><div align='right'><input type=\"submit\" name=\"bestellen\" value=\"Artikel jetzt bestellen!\"></td>\n";
                        echo "</tr>\n";
                        echo "</table>\n";
                        
                        if(!isset($bestellen)){
                        
                        mysql_query("INSERT INTO artikel_kunde (namen,telefon,kundenmail,strasse,plz,ort,ip,date) VALUES ('$namen','$telefon','$kundenmail','$strasse','$plz','$ort','$ip','$date')"); 
                        print(mysql_error());
                        $meldung = "Kundendaten wurden hinzugefügt."; 
                        }
                        
                        //* ENDE AUSGABE WARENKORB *//
                        
                        
                        
                  
                       
                       
                        echo "</form>\n";
                    
                        ?>

                Kommentar


                • #9
                  hmm, seh ich auf anhieb nichts. aber mache mal dein insert mit einem 'SET, anstat VALUES. Also genauso wie beim UPDATE-Syntax.

                  BTW: Deine Telefonnummer-prüfung ist nicht dein ernst

                  Kommentar


                  • #10
                    was ist mit der telefonprüfung ...?

                    Kommentar


                    • #11
                      gar nichts

                      Kommentar


                      • #12
                        'SET' ist kritisch, da wird gemeckert.

                        Kommentar


                        • #13
                          ja was ist denn nun damit, wegen der fehler buchstaben??

                          Kommentar


                          • #14
                            wer meckert was?

                            Kommentar


                            • #15
                              mysql_error meckert bei SET statt VALUES

                              You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET ('dddvdvdv','vdvdvdvdvd','ddd','vdvd','fc','dvdvdvd','217.2

                              Kommentar

                              Lädt...
                              X