Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL Abfrage erzeugen/ string bearbeitung

Einklappen

Neue Werbung 2019

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

  • #16
    Wie immer... lass Dir den Query-String erstmal komplett ausgeben damit man sieht, worüber sich MySQL da aufregt.

    Was soll denn eigentlcih eine PHP-Variable im String? Der sollte doch irgendwann mal ersetzt werden. Möglichst bevor Du es in MySQL reinstopfst.

    Ich seh in dem code nicht, wo diese Meldung herkommen sollte.
    Du verwendest $eintrag, diese Variablen stehen aber nur in $eintrag3.

    Welche Version war gerade aktiv, als Du den Fehler gekriegt hast und was steht im QueryString?
    **********************************
    Nein, ich bin nicht die Signatur.
    Ich putze hier nur.
    **********************************

    Kommentar


    • #17
      PHP-Code:
      $eintrag ="INSERT INTO ".$txtTname.//tbl
           
      "(".$zielf_kom.")" //feldnamen
           
      ." values"."(".$quellef_kom.")"
      das is die zusamm stellung mit dem "Insert into Tabelle (Feldname/n)values (Inhaltsvar)"

      habs bloß wegen der sql errros meldung getrennt, zwecks Fehlerzeile anzeigen.

      Bei Feldnamen(zielf_kom) hab ich alles mit "Zeichen" erstellen könnnen.
      Aber bei Feldinhalten muss ich jeweils noch $" anfügen können ohne 'Zeichen '.
      Des wegen Eintrag 1-3 das is die ausgaben der Abfragen, Eintrag is klar, eintrag2 u. 3 is die ausgabe von dem String (Eintrag).... da funsts ... Naja siehe fehlermeldung geht der Fehler auch nur bei den Feldinhalten das Problem.
      ach test war nur nen test zwecks typ umwandlung.

      Kommentar


      • #18


        Junge, lass Dir Zeit beim Tippen.
        Um die Uhrzeit ist es mir zu mühselig, aus dem Zeug sinnvolle Sätze zu entnehmen.

        Und den Inhalt des Query-Strings seh ich jetzt auch nirgends.
        Ohne den geht hier gar nix würde ich mal sagen.

        Außerdem hab ich am 18.03.2007 um 20:59 Uhr in meinem Posting schonmal gefragt, ob da wirklich die Variablennamen im fertigen String stehen sollen. MySQL sagt dazu anscheinend deutlich nein!
        Aber da hättest ruhig auch Du selber mal antworten dürfen.

        Zitat von easy
        KÖNNTE MIR BITTE EINER WEITER HELFEN
        Und zu guter letzt kannst Du so Geschrei weglassen, das andeutet, wir hätten Dir auf eine offene Frage nicht geantwortet.
        In Deinem letzten Posting davor hast Du noch geschrieben, dass es jetzt geht.
        **********************************
        Nein, ich bin nicht die Signatur.
        Ich putze hier nur.
        **********************************

        Kommentar


        • #19
          PHP-Code:
             $eintrag3 ="INSERT INTO tbllog(BenutzerID,Name) values(\"$BenutzerID\",\"$Name\")"
          das is der querystring der mir ausgeben wird, den hab ich dann auf eintrag3 gelegt zum testen. Wie gesagt da gehts einwand frei, alle werte richtig eingetragen und Variablen stehen mit in der Abfrage.

          sry wegen der tipfehler

          Kommentar


          • #20
            versteh ich das richtig, du möchtest diesen string später über eval mit werten
            füllen? bei der ausgabe wird natürlich die $variable automatisch geparst und ausgefüllt.

            vorschlag.
            für dein erstes konstrukt kannst du arrays effektiv einsetzen.
            da sich feldnamen innerhalb einer query wiederholen können, solltest du den table namen mitverwenden
            mit sprintf kannst du die feldzuweisung mit evl. hochkommata und inhalt einfach formatieren
            versuch mal das folgende (ungetestete!!!) beispiel zu nachzuvollziehen.
            PHP-Code:
            <?

            // ... SELECT ... LIMIT 1

            $aQuoteTypes = array ('char'    => '"%s"' , 
                                  'varchar' => '"%s"' , 
                                  'text'    => '"%s"' , 
                                  'int'     => '%d'
                                  // ...
                                  ); // Formatieranweisungen für die Feldtypen
            $aValues = array ();

            // Feldinfos auslesen
              for ($s = 0 ; $s <=$fields-1 ; $s++)
                 {
                 $aMeta=mysql_fetch_field($result, $s); // feldinfos (quelle,index);
                 $sName = $aMeta['table'] . '.' . $aMeta['name']; // unabhängig bei gleichen feldern in mehreren tables
                 $aFields[$sName] = & $aValues[$sName]; // Referenz setzen
                 $aQuoteFormat[$sName] = $aQuoteTypes[$aMeta['type']];
                 } 

            // ...
            // belege $aValues[...] mit Werten
            // ...

            // Feldformatierung
            function FilesValues (& $aItem , $sName , $aQuoteFormat)
              {
              $aItem = sprintf ($aQuoteFormat[$sName] , $aItem);
              }

            array_walk (& $aFields , 'FilesValues' , $aQuoteFormat);

            echo 'INSERT INTO myTable (' . 
                    implode (',' , array_keys ($aFields)) .
                    ') VALUES (' .
                    implode (',' , $aFields) . 
                    ')';
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #21
              danke ... muss erst ma den vorgang verstehen

              Kommentar

              Lädt...
              X