Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem bei INSERTEN INTO

Einklappen

Neue Werbung 2019

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

  • #16
    Ich würde sagen da fehlt ein =

    bei $db_daten[]

    Kommentar


    • #17
      Ich hab ernsthaft versucht dir zu helfen, und wenn du es nicht erträgst, dass wir uns ein wenig über deine Datenstruktur, bzw. darüber wie du die Daten zu speichern versuchst, amüsieren, dann ist das eher dein Problem.
      Zitat von RedDragon Beitrag anzeigen
      Und auch mit dem geposteten script hauts nicht hin.
      Er hat n Problem mit: $db_daten[] "('" . implode("', '", $data) . "')";
      Die Fehlerbeschreibung ist wieder mal perfekt!
      Und wenn du nicht merkst, dass hier ein "=" fehlt, dann fällt das etwa in die gleiche Kategorie, wie das Nichtwissen, was Stringbegrenzer sind. (Neben dem, was Flor1an schon gesagt hat)
      Gruss
      L

      Kommentar


      • #18
        Hallo!

        Benutzt du error_reporting(E_ALL) ?

        Zweitens kennst du die Grundsyntax von Insert Into. Kennst die Grundsyntax von implode und hast mal ins Manual geschaut? Dein implode so wie es bei dir aussieht kann nicht funktionieren!

        Hast du dir über das was du machen überhaupt ernsthaft Gedanken gemacht bevor du eine Zeile Code geschrieben hast?
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        [URL]http://www.lit-web.de[/URL]

        Kommentar


        • #19
          @litter: der zweite (schlechte) Code kommt doch von lazydog und der würde auch funktionieren wenn man den o.g. Punkt berücksichtigt und etwas auf die benennung der variablen achtet

          Kommentar


          • #20
            Zitat von litterauspirna Beitrag anzeigen
            Dein implode so wie es bei dir aussieht kann nicht funktionieren!
            Wessen und welcher implode kann nicht funktionieren?
            Gruss
            L

            Kommentar


            • #21
              @cycap ich redete von diesem Teil den RedDragon postete

              $db_daten[] "('" . implode("', '", $data) . "')";

              Und das kann so nicht funktionieren.

              Also meinte ich damit nicht lazydog's Code!

              mfg der litter

              [Edith]
              Die ganze blau markierte Code Zeile kann nicht funktionieren und vollkommen Sinnlos!
              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
              [URL]http://www.lit-web.de[/URL]

              Kommentar


              • #22
                @lazydog: du hast beim zweiten implode die falsche Variable genommen, das verwirrt etwas

                EDIT:
                @litter siehe Posting #7

                Kommentar


                • #23
                  So nochmal zurück, sorry lazy, nicht du hast die falsche Variable genommen, sondern jemand der deinen Code verändert hat.

                  @litter: wieso sollte die blau markierte Zeile wenn man da noch nen = reinmacht nicht funktionieren?

                  Kommentar


                  • #24
                    Schon Ok nehme alles zurück ich habe falsch gelesen,bzw als ich es in meinen Codeeditor kopiert habe,habe ich gesehen das das korrekt ist. War ein harter Tag heute,meine armen Augen,man wird ja auch nicht jünger
                    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                    [URL]http://www.lit-web.de[/URL]

                    Kommentar


                    • #25
                      Okay jetzt funktioniert das mit dem implode. Allerdings hab ich immernoch n problem bei schreiben der DAten in die DB!
                      Die CSV sieht so aus: "w","asd","adsf","sdf","12","sadf"
                      Und derzeit krieg ich folgenden Fehler:
                      INSERT INTO adressen1 ( geschlecht, vorname, nachname, strassenname, postleitzahl, ort ) VALUES ('('w', 'asd', 'adsf', 'sdf', '12', 'sadf')' )
                      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 'w', 'asd', 'adsf', 'sdf', '12', 'sadf')' )' at line 10 Datensatz nicht eingefügt!

                      Für mich sieht das so aus, als wäre was beim DB_create was in die Hose gegeangen. Allerdigns kann ich nicht nachvollziehen was.

                      Tut mir leide wenn das für euch dämliche Fragen sind, abe ich hab das nicht umsonst in den Einsteiger-Bereich gepostet.

                      Kommentar


                      • #26
                        Dann zeig mal das verwendentete Script und hast du nur 1 Datensatz in der CSV? Und woher kommen bitte die aüßeren (' bzw ') ? Die sind in dem vorherigen Script nicht vorhanden

                        Kommentar


                        • #27
                          Zitat von cycap Beitrag anzeigen
                          So nochmal zurück, sorry lazy, nicht du hast die falsche Variable genommen, sondern jemand der deinen Code verändert hat.
                          Doch ich hatte die falsche Variable genommen, hab es nachher korrigiert. Und auf die überzähligen Klammern hat Flor1an ja schon hingewiesen.
                          Hier nochmals mein Code, ich hoffe jetzt fehlerfrei
                          PHP-Code:
                          $handle fopen("ad2.csv""r");
                          $db_daten = array();
                          while ((
                          $data fgetcsv($handle1000",")) !== FALSE) {
                              
                          $db_daten[] = "('" implode("', '"$data) . "')";
                          }
                          $sql "
                              INSERT INTO adressen1 (
                                  geschlecht,
                                  vorname,
                                  nachname,
                                  strassenname,
                                  postleitzahl,
                                  ort
                              )
                              VALUES " 
                          implode(",\n"$db_daten);     
                          echo 
                          "$sql<br />"// Nur zu Testzwecken
                          mysql_query($sql) or exit(mysql_error()); 
                          Wenn deine CSV genau dieses Format hat (mit Anführungszeichen und Kommas) gehts auch noch einfacher, da brauchst du gar keine CSV-Verarbeitung mehr und kannst die Zeilen 3-5 mit folgendem Code ersetzen:
                          PHP-Code:
                          while ($data fgets($handle1000)) {
                              
                          $db_daten[] = "($data)";

                          Der Rest bleibt gleich
                          Gruss
                          L

                          Kommentar


                          • #28
                            Jo Danke jetzt haut alles hin!
                            Noch n andere Frage. Ich hab dazu nichts beim googlen gefunden. Wie macht man eine Suchabfrage, die nach bestimmten Inhalten sucht. Bzw. wie kann man im "WHERE" Ausdruck angeben, dass er nach den gegebenen Wörtern suchen soll, wenn aber das Feld leer bleibt, er das ignorieren soll. Ich hoffe ihr versteht was ich sagen will
                            Der code sieht so aus:
                            PHP-Code:
                            $v =  $_POST['vornamea'];
                            $n =  $_POST['nachnamea'];
                            $s =  $_POST['stra'];
                            $p =  $_POST['plza'];
                            $o =  $_POST['orta']; 
                            und dann soll das halt hier verarbeitet werden. Mit and oder Or haut das nicht ordentlich hin.
                            PHP-Code:
                            $sqls "SELECT
                                            id, vorname, nachname, strassenname, postleitzahl, ort
                                        FROM
                                            adressen1
                                        WHERE
                                          vorname='
                            $v'   ........


                                        ORDER BY
                                            id;"
                            ;
                            $result mysql_query($sqls) OR die(mysql_error());
                            while(
                            $row mysql_fetch_assoc($result)) {
                                    echo 
                            $row['id']." ".$row['vorname']." ".$row['nachname']."<br />\n";
                                } 

                            Kommentar


                            • #29
                              Ich hoffe ich habe dich richtig verstanden:

                              PHP-Code:
                              $sql "SELECT * FROM tabelle";
                              if(!empty(
                              $_POST["suchen"]))
                              {
                                
                              $sql .= " WHERE suchfeld = '".$_POST['suchen']."'";

                              Kommentar


                              • #30
                                Ja das meine ich im Prinzip. Aber mit einer Suchabfrage ist das kein Problem. Ich bekomm das nicht hin, wenn 2 variablen einbezogen werden sollen.
                                Also ich kann ja nicht an das $sql noch wieder "and WHERE ....nachname=.." ranhängen. Das Where müsste weg. Dann hab ich aber das Problem, dass wenn in dem ersten Suchfeld nichts drin steht ich auch einen Fehler bekomme.
                                Wie kann man das lösen?

                                Kommentar

                                Lädt...
                                X