wo ist der Fehler????

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

  • wo ist der Fehler????

    Hallo, ich habe ein Script bei dem mir ständig die Fehlermeldung:
    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 ''partner' ('Prg_Nr, Prg, Datum, SubID, Prov, Sts', PartnerID)
    gemeldet wird

    Ich hab nun alles mögliche probiert, bekomme aber den Fehler nicht raus
    PHP-Code:
    <?
    $row = 1;                                                  // Anzahl der Arrays
    $fp = fopen ("download/adbutler.csv","r");                // Datei wird zum Lesen geöffnet
    while ($data = fgetcsv ($fp, 1000, ",")) {                 // Daten werden aus der Datei in einen Array $data gelesen
        $num = count ($data);                                  // Felder im Array $data werden gezählt
        print "<p> $num fields in line $row: <br>";
        $row++;                                                // Anzahl der Arrays wird inkrementiert
        for ($c=0; $c < $num; $c++) {                          // FOR-Schleife, um Felder 
        print $data[$c] . "<br>";                          // des Arrays auszugeben
        }
    }
        mysql_query ("Insert into '$db_Table' ('$db_Fields', PartnerID) 
        Values ('".$_POST['programm_id'].", ".$_POST['programmname'].", ".$_POST['datum'].", ".$_POST['sub_id'].", ".$_POST['provisionssumme'].", ".$_POST['status'].", 'adbutler')")
        or die("FEHLER".mysql_error());
        
    fclose ($fp);
    ?>
    Kann mir jemand helfen?

    Gruß
    Stoner

  • #2
    mach mal eine ausgabe der query und zähle die felder und die entsprechenden values.

    ist es die gleiche anzahl?

    und die ' bei '$db_Fields' mache auch mal weg.
    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
      die hochkommas habe ich weg gemacht, aber ....

      wie mache ich eine Ausgabe der Query???

      Gruß
      Stoner

      Kommentar


      • #4
        mit echo?

        PHP-Code:
        echo $sql "SELECT ....";
        $res mysql_query($sql) or die(mysql_error()); 
        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
          neue version

          Ich habs nun so gemacht:

          PHP-Code:
          <?
          $row = 1;                                                  // Anzahl der Arrays
          $fp = fopen ("download/adbutler.csv","r");                // Datei wird zum Lesen geöffnet
          while ($data = fgetcsv ($fp, 1000, ",")) {                 // Daten werden aus der Datei in einen Array $data gelesen
              $num = count ($data);                                  // Felder im Array $data werden gezählt
          #    print "<p> $num fields in line $row: <br>";
              $row++;                                                // Anzahl der Arrays wird inkrementiert
              for ($c=0; $c < $num; $c++)                           // FOR-Schleife, um Felder 
              {
                  $res = mysql_connect($db_Hostname, $db_UserName, $db_Password) || die("Can't Connect to Database: ".mysql_error());
                  mysql_select_db($db_Database) || die("FEHLER ".mysql_error());
                  mysql_query ("Insert into $db_Table($db_Fields, PartnerID) Values ('".$_POST['programm_id']."', '".$_POST['programmname']."', '".$_POST['datum']."', '".$_POST['sub_id']."', '".$_POST['provisionssumme']."', '".$_POST['status']."', 'adbutler')") or die("FEHLER".mysql_error());
          }
          }    
          fclose ($fp);
          ?>
          das Resultat besteht aus 3 Datensätzen obwohl es in der CSV-Datei nur einen gibt, außerdem sind nur 0 eingetragen

          gruß
          Stoner

          Kommentar


          • #6
            du verstehst es nicht.

            du SOLLST die query mal ausgeben. s.o.
            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


            • #7
              du hast recht ....

              ... ich verstehe es wirklich nicht.

              bin mittlerweile soweit:
              PHP-Code:
              <?
              $row = 1;                                                  // Anzahl der Arrays
              $fp = fopen ("download/adbutler.csv","r");                // Datei wird zum Lesen geöffnet
              while ($data = fgetcsv ($fp, 1000, ",")) {                 // Daten werden aus der Datei in einen Array $data gelesen
                  $num = count ($data);                                  // Felder im Array $data werden gezählt
                     print "<p> $num fields in line $row: <br>";
                  $row++;                                                // Anzahl der Arrays wird inkrementiert
                  for ($c=1; $c < $num; $c++)                           // FOR-Schleife, um Felder 
                  {
                      $res = mysql_connect($db_Hostname, $db_UserName, $db_Password) || die("Can't Connect to Database: ".mysql_error());
                      mysql_select_db($db_Database) || die("FEHLER ".mysql_error());
                      $sql = mysql_query ("Insert into $db_Table($db_Fields) Values ('".$_POST['programm_id']."', '".$_POST['programmname']."', '".$_POST['datum']."', '".$_POST['sub_id']."', '".$_POST['provisionssumme']."', '".$_POST['status']."', 'adbutler')") or die("FEHLER".mysql_error());
                      if (mysql_query ($sql)) 
                      {
                          echo  "&Uuml;bertragung erfolgreich";
                      }
                      else 
                      {
                          echo  "&Uuml;bertragung fehlgeschlagen. Grund: ". mysql_error ();
                      }
                  }
              }    
              fclose ($fp);
              ?>
              mit folgender Fehlermeldung:
              Übertragung fehlgeschlagen. Grund: 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 '1' at line 1

              Gruß
              Stoner

              Kommentar


              • #8
                @abraxax
                redest Du nicht mehr mit mir?

                Gruß Stoner

                Kommentar


                • #9
                  ich warte nur auf die ausgabe der query von dir.
                  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


                  • #10
                    dann erklär bitte noch mal für blödies, wie ich das mit der ausgabe mache.

                    Kommentar


                    • #11
                      Original geschrieben von Abraxax
                      mit echo?

                      PHP-Code:
                      echo $sql "SELECT ....";
                      $res mysql_query($sql) or die(mysql_error()); 
                      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


                      • #12
                        auch auf die Gefahr hin, dass du mich jetzt aus dem Forum schmeisst:

                        was muss hinter SELECT? ich hab keine Ahnung !

                        Stoner

                        Kommentar


                        • #13
                          du sollst das hinter SELECT schreiben, was bei dir steht.

                          is doch wohl nicht so schwer oder?

                          Kommentar


                          • #14
                            in seinem fall wohl eher das INSERT und co. was ich gepostet habe ich nur als beispiel gedacht.
                            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


                            • #15
                              nu siehts so aus:

                              nun bekomme ich die folgende Fehlermeldung:
                              11 fields in line 1:
                              1You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Value ('', '', '', '', '', '', 'adbutler'' at line 1

                              mein script sieht mittlerweile so aus:
                              PHP-Code:
                              <?
                              $row = 1;                                                  // Anzahl der Arrays
                              $fp = fopen ($db_File,"r");                                // Datei wird zum Lesen geöffnet
                              while ($data = fgetcsv ($fp, 1000, ";", "'")) {                 // Daten werden aus der Datei in einen Array $data gelesen
                                  $num = count ($data);                                  // Felder im Array $data werden gezählt
                                    print "<p> $num fields in line $row: <br>";
                                  $row++;                                                // Anzahl der Arrays wird inkrementiert
                                  for ($c=1; $c < $num; $c++)                           // FOR-Schleife, um Felder 
                                  {
                                      $res = mysql_connect($db_Hostname, $db_UserName, $db_Password) || die("Can't Connect to Database: ".mysql_error());
                                      mysql_select_db($db_Database) || die("FEHLER ".mysql_error());
                                      echo $sql = ("insert into $db_Table($db_Fields) Value ('".$_POST['programm_id']."',
                              '".$_POST['programmname']."', '".$_POST['datum']."',
                              '".$_POST['sub_id']."', '".$_POST['provisionssumme']."', '".$_POST['status']."', 'adbutler'")
                              or die("FEHLER".mysql_error());
                                      $res = mysql_query($sql) or die(mysql_error());
                                      if ($res) 
                                      {
                                          echo  "&Uuml;bertragung erfolgreich";
                                      }
                                      else 
                                      {
                                          echo  "&Uuml;bertragung fehlgeschlagen. Grund: ". mysql_error ();
                                      }
                                  }
                              }
                                  
                              fclose ($fp);

                              ?>
                              Stoner
                              Zuletzt geändert von wahsaga; 21.01.2004, 17:32.

                              Kommentar

                              Lädt...
                              X