Mysql problem beim INSERT INTO

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

  • Mysql problem beim INSERT INTO

    Hallo

    ich habe folgende scripts

    PHP-Code:
             if(isset($_POST['submit'])) {
                
                             
                    if (isset(
    $_SESSION['ID']))
                                    {
                             
    $sql "SELECT
                                            *
                
                                    FROM
                                            users
                                    WHERE
                                            ID = '"
    .$_SESSION['ID']."';";
                                    
    $result mysql_query($sql) OR die(mysql_error());
                                    
    $row mysql_fetch_assoc($result);
                    
                            echo 
    "You are logged in as:\n<b>".$row['Name']."</b>";
                            
    session_register("Kundname");
                    
                            
    $Kundname=$row['Name'];
                    
                    }
                    
                    echo 
    "<form ".
                         
    "action=\"index.php?section=admin&amp;site=bestellung&amp;action=add\" ".
                         
    "method=\"post\" ".
                         
    "class=\"formular\">\n";
                    
                            
    $kname=$_POST['kartenname'];
                            
    $kanzahl=$_POST['anzahl'];
                            
    $summe 0;
     
                            for (
    $i=0$i<count($kname); $i++) {
                
                
                
    $sql "SELECT
                            *
                        FROM
                            karten
                        where
                            Name ='
    $kname[$i]';";               
                
    $result mysql_query($sql) OR die(mysql_error());
                while(
    $row mysql_fetch_assoc($result)) {
                  
                  
    $preis_summe_karte= ($anzahl[$i] * $row['Preis']);
                    echo 
    "\nkartenname:\n";
                    echo 
    $row['Name']."\n";
                    echo 
    "\nPreis:\n";
                    echo 
    $row['Preis']."\n<b>Euro</b>\n";
                    echo 
    "Anzahl:".$anzahl[$i];
                    
                    echo 
    "Preis der einzelnen Karte:\n".$preis_summe_karte."<br>";

                    
    $summe$summe $preis_summe_karte;
                    
                    
    $query "INSERT INTO bestellung
                                    (Kundenname,Kartenname,Kartenanzahl,Preis,Gespreis)
                            VALUES
                                    ('"
    .$Kundname."','".$row['Name']."','".$anzahl[$i]."','".$row['Preis']."','".$preis_summe_karte."');"

    Die Variabel werden alle gut angezeigt aber mysql query fuzt net. Die Tabelle "bestellung" belibt leer nach submit. Ich bekomme auch keine Fehlermeldung.

  • #2
    Re: Mysql problem beim INSERT INTO

    - führst du die query aus?
    - was sagt mysql_error()?
    Die Zeit hat ihre Kinder längst gefressen

    Kommentar


    • #3
      ich habe es jetzt korrigiert:

      PHP-Code:
                       
                      $sql 
      "INSERT INTO bestellung 
                                      (Kundenname,Kartename,Kartenanzahl,Preis,Gespreis)
                              VALUES
                                      ('"
      .$Kundname."','".$row['Name']."','".$anzahl[$i]."','".$row['Preis']."','".$preis_summe_karte."')$
            
                      
      $result = mysql_query($sql) OR die(mysql_error()); 

      Aber dann kommt folgende meldung

      Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/bla/seite/admin_bestellung.php on line 254


      Die daten werden aber kommischerweise in die Tablle "bestellung" eingetragen !!

      was nun ?

      Kommentar


      • #4
        ich habe es jetzt korrigiert:
        der syntax ist falsch, wie du am highlighting siehst ...
        Die daten werden aber kommischerweise in die Tablle "bestellung" eingetragen !!
        beim insert benutzt du wohl kein fetch ... oder?
        was nun ?
        mysql_error() verwenden.

        wenn du eine fehlermeldung erhältst, die hier postest, dann kann es nicht schaden, auch die entsprechende zeile zu posten + 2-3 zeilen drüber und drunter ...
        Zuletzt geändert von derHund; 16.10.2004, 16:55.
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          der Syntax ist richtig. Ich hatte beim koppieren nicht aufgepasst:

          PHP-Code:
                        $query "INSERT INTO bestellung
                                          (Kundenname,Kartenname,Kartenanzahl,Preis,Gespreis)
                                  VALUES
                                          ('"
          .$Kundname."','".$row['Name']."','".$anzahl[$i]."','".$row['Preis']."','".$preis_summe_karte."');";

          $result mysql_query($sql) OR die(mysql_error()); 

          beim insert benutzt du wohl kein fetch ... oder?
          nein ich benutze kein fetch



          wenn du eine fehlermeldung erhältst, die hier postest, dann kann es nicht schaden, auch die entsprechende zeile zu posten + 2-3 zeilen drüber und drunter ...

          also hier



          kartenname: Amingo Preis: 5 Euro Anzahl:1Preis der einzelnen Karte: 5
          Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/bla/seite/admin_bestellung.php on line 254
          kartenname: Duniya Preis: 5 Euro Anzahl:1Preis der einzelnen Karte: 5
          Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/bla/seite/admin_bestellung.php on line 254
          kartenname: Golden Preis: 6 Euro Anzahl:1Preis der einzelnen Karte: 6
          Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /usr/home/bla/seite/admin_bestellung.php on line 254
          Preis aller Karten: 16

          Zeile 254 = while($row = mysql_fetch_assoc($result)) {

          Kommentar


          • #6
            mir fehlt die ausgabe von mysql_error().

            Kommentar


            • #7
              mir fehlt die ausgabe von mysql_error().
              hallo,


              im echo mysql_error(); wird nichts ausgegeben

              ich weiss net was ich hier falsh mache

              Kommentar


              • #8
                aktueller code??? Bitte mit Zeilennummerrierung.

                Kommentar


                • #9
                  also hier
                  ich meinte die zugehörigen codezeilen

                  supplied argument is not a valid MySQL result resource liegt zu 99% an einer fehlgeschlagenen vorherigen query. dort mußt du mysql_error anwenden. bzw. dort, wo du die result resource erzeugst ...
                  Die Zeit hat ihre Kinder längst gefressen

                  Kommentar


                  • #10
                    [list=1]
                    PHP-Code:
                    213 if(isset($_POST['submit'])) {
                    214
                    215
                    216                
                    if (isset($_SESSION['ID']))
                    217                                {
                    218                         $sql "SELECT
                    219                                        *
                    220
                    221                                FROM
                    222                                        users
                    223                                WHERE
                    224                                        ID = '"
                    .$_SESSION['ID']."';";
                    225                                $result mysql_query($sql) OR die(mysql_error());
                    226                               $row mysql_fetch_assoc($result);
                    227
                    228                        
                    echo "You are logged in as:\n<b>".$row['Name']."</b>";
                    229            session_register("Kundname");
                    230
                    231            $Kundname
                    =$row['Name'];
                    232
                    233                
                    }
                    234
                    235                
                    echo "<form ".
                    236                     "action=\"index.php?section=admin&amp;site=bestellung&amp;action=add\" ".
                    237                     "method=\"post\" ".
                    238                     "class=\"formular\">\n";
                    239
                    240                       $kname
                    =$_POST['kartenname'];
                    241                        $kanzahl=$_POST['anzahl'];
                    242                        $summe 0;
                    243
                    244                        
                    for ($i=0$i<count($kname); $i++) {
                    245
                    246
                    247            $sql 
                    "SELECT
                    248                        *
                    249                    FROM
                    250                        karten
                    251                    where
                    252                        Name ='
                    $kname[$i]';";
                    253            $result mysql_query($sql) OR die(mysql_error());
                    254            while($row mysql_fetch_assoc($result)) {
                    255
                    256             $preis_summe_karte
                    = ($anzahl[$i] * $row['Preis']);
                    257                echo "\nkartenname:\n";
                    258                echo $row['Name']."\n";
                    259                echo "\nPreis:\n";
                    260                echo $row['Preis']."\n<b>Euro</b>\n";
                    261                echo "Anzahl:".$anzahl[$i];
                    262
                    263                
                    echo "Preis der einzelnen Karte:\n".$preis_summe_karte."<br>";
                    264
                    265                $summe
                    $summe $preis_summe_karte;
                    266
                    267        $sql 
                    "INSERT INTO bestellung
                                    (Kundenname,Kartename,Kartenanzahl,Preis,Gespreis)
                                VALUES
                                    ('"
                    .$Kundname."','".$row['Name']."','".$anzahl[$i]."','".$row['Preis']."','".$preis_summe_karte."');";
                            echo 
                    mysql_error();
                            
                    $result mysql_query($sql) OR die(mysql_error());
                            echo 
                    mysql_error();
                            echo 
                    "done"
                    [/list=1]

                    ich hoffe das hilft weiter

                    und danke für die Antworten bisher

                    Kommentar


                    • #11
                      Wie oft wurde dir jetzt gesagt, du sollst an der betreffenden Stelle ein echo mysql_error() reinklatschen?

                      Kommentar


                      • #12
                        ich bin doch einAnfänger

                        wenn ich das wusste wo, hätte ich schon längst getan .. ich habe überall echo mysql_error(); reingehaunen .. nix geholfen

                        Kommentar

                        Lädt...
                        X