Text in der SQL Abfrage ?

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

  • #16
    Original geschrieben von onemorenerd
    Ich glaube der TO möchte einfach nur zwei Strings vergleichen. Auf der einen Seite $text verknüpft mit dem Inhalt der Spalte Pers_Name2, auf der anderen Seite der Inhalt von $_SERVER['AUTH_USER'].

    Er weiß aber nicht, wie man Strings in SQL verknüpft. - Nein, es geht nicht wie in Javascript, auch nicht wie in PHP, und mit & schon gar nicht.

    Er könnte $_SERVER['AUTH_USER'] exploden und den ersten Teil in PHP mit $text vergleichen. Würde die SQL-Sache vereinfachen.
    Er könnte aber auch einen Blick auf http://dev.mysql.com/doc/refman/5.0/...functions.html bzw. ein Pendant für MSSQL werfen. Dann würde er lernen wie man in SQL Strings konkateniert und noch anderes nützliches Zeug.
    PERFEKT!
    Exakt das, will ich erreichen.
    ABER WIE

    Mir fallen schon meine grauen haare aus
    Muss schon heute mit MSsql und nicht mit MYsql arbeiten.
    Plage genug vom Chef.

    Und nun bekomm ich nichteinmal seit 3 stunden eine einfach Abfrage hin.

    Kommentar


    • #17
      So, ich habe es wie folgt gemacht:

      $teile = explode("\\", $_SERVER['AUTH_USER']);

      $mssqlresult = mssql_query("SELECT Pers_Name2,
      Pers_Ausweis_Nr
      FROM personalstamm
      WHERE Pers_Name2 = '$teile[1]'");

      WARUM MUSS ICH $teile[1] IN HOCHKOMMA SETZEN ????
      ICH HABE EXTRA MIT " GESCHREIBEN DAMIT ICH VARIABLEN NICHT EXTRA AUSKLAMMERN MUSS !!!!!!
      ein scheiß system bzw. nirgends wo etwas wo es gut erklärt ist.
      Man bekommt nur Manuals und kleinigkeiten anstatt einfach mal 20 Sätze in denen genau DAS Problem beschrieben ist.
      Ich geh jetzt sterben. Bye

      Kommentar


      • #18
        Original geschrieben von phpMorpheus2
        WARUM MUSS ICH $teile[1] IN HOCHKOMMA SETZEN ????
        ICH HABE EXTRA MIT " GESCHREIBEN DAMIT ICH VARIABLEN NICHT EXTRA AUSKLAMMERN MUSS !!!!!!
        Hör auf hier rumzuschreien! Die " um den String veranlassen PHP, im String eingebettete Variablen durch ihren Inhalt zu ersetzen. Bespiel:
        PHP-Code:
        $text 'foo';
        $sql "SELECT ... WHERE column = $text";
        echo 
        $sql// Ausgabe: SELECT ... WHERE column = foo 
        Aber mit dem Bezeichner foo kann dein Datenbanksystem nichts anfangen. Es gibt keine Spalte die so heißt. Das meinst du ja auch gar nicht. Du möchtest foo nicht als Bezeichner, sondern als String in der SQL-Query haben. Also ' drum und schon weiß dein DBS was du meinst.


        Lies mal ein ordentliches Anfängertutorial. Dir fehlen die Grundlagen in PHP und SQL.

        Kommentar


        • #19
          Original geschrieben von onemorenerd
          Hör auf hier rumzuschreien! Die " um den String veranlassen PHP, im String eingebettete Variablen durch ihren Inhalt zu ersetzen. Bespiel:
          PHP-Code:
          $text 'foo';
          $sql "SELECT ... WHERE column = $text";
          echo 
          $sql// Ausgabe: SELECT ... WHERE column = foo 
          Aber mit dem Bezeichner foo kann dein Datenbanksystem nichts anfangen. Es gibt keine Spalte die so heißt. Das meinst du ja auch gar nicht. Du möchtest foo nicht als Bezeichner, sondern als String in der SQL-Query haben. Also ' drum und schon weiß dein DBS was du meinst.


          Lies mal ein ordentliches Anfängertutorial. Dir fehlen die Grundlagen in PHP und SQL.
          Danke.
          Kennst du denn ein gutes außer Manuals ?
          Ich finde nur schrott bei Google.
          Keine ordentliche Seite wo mal beschrieben wird was alleine der Unterschied zwischen " und ' ist.
          Geschweige denn, wie man Strings in SQL zusammenhängt, wie man eine fnuktion in eine sql_query mit intigriert und so weiter.

          Hast du was gutes und auch verständliches ?
          Am besten ein schönes eBook.

          Danke vielmals

          Kommentar


          • #20
            Gehen wir mal von folgendem aus, was ich für richtig halte:

            Mit Variable arbeiten
            PHP-Code:
                $MeineVariable "107";
                
            $mssqlresult mssql_query("SELECT Pers_Name2, Pers_Ausweis_Nr
                                              FROM personalstamm
                                             WHERE Pers_Ausweis_Nr = 
            $MeineVariable"); 
            Der richtige Namen wird ausgespuckt!
            Wenn ich nun $MeineVariable in ' setze, kommt aber AUCH das richtige Ergebnis raus.
            Warum also überhaupt ' ?

            Nächstes Beispiel:
            PHP-Code:
                $MeineVariable "07";
                
            $mssqlresult mssql_query("SELECT Pers_Name2, Pers_Ausweis_Nr
                                              FROM personalstamm
                                             WHERE Pers_Ausweis_Nr = '1'+'
            $MeineVariable'"); 
            Um nun $MeineVariable auf gesamt 107 zu bekommen,
            habe ich zum testen mal eine 1 vor der abgehackten $MeineVariable gehängt.
            Die 1 musste ich nun in ' setzen.
            Mit + habe ich verbunden.
            Doch NUN MUSS ich die Variable AUCH in ' setzen.
            Warum? Vorher ging es doch wunderbar ohne!!?

            Eine Funktion in die sql_query einbringen:
            PHP-Code:
            function EinsHinzufügen($inhalt
            { return 
            '1'.$inhalt; }

                
            $MeineVariable "07";
                
            $mssqlresult mssql_query("SELECT Pers_Name2, Pers_Ausweis_Nr
                                              FROM personalstamm
                                             WHERE Pers_Ausweis_Nr = 'EinsHinzufügen(
            $MeineVariable)'"); 
            WÜRDE es so gehen?
            Ich bekomme natürlich jetzt einen (int) fehler. Weiß der Geier warum.
            Also einen String, eine Variable und eine Funktion MUSS ich in einer sql_query, die mit " beginnt und endet, in Hochkommata setzen, um Sie so vollständig nutzen zu können, richtig?
            Warum muss ich bei dem EinHinzufügen Funktionsaufrug $MeineVariable nicht auch in ' setzen, bzw. was KANN/DARF ich es nicht? Weil die Variable schon aussenstehen ist durch die beiden ' die die Funktion umgeben?

            Wäre Nett wenn du nur dazu kurz was schreiben könntest.
            Ich verstehe ja das Prinzip.
            Aber mich verwirrt es total, das man mal so und mal so machen kann.
            Ich habe das Gefühl, dass man in php so seine eigenen Regeln erschaffen kann...

            Kommentar


            • #21
              Keine eigenen Regeln, alles ist eindeutig festgelegt: http://www.php.net/manual/de/langref.php
              Dort steht die Wahrheit. Alle anderen Seiten und Bücher wollen diese Wahrheit nur verständlicher, anfängergerecht strukturiert präsentieren. Manchen gelingt das besser, manchen schlechter. Oft liegt es im Auge des Lesers.
              Du mußt noch sehr viel lesen und ausprobieren. Das hier wäre ein Anfang:
              http://reeg.junetz.de/DSP/
              http://peterkropff.de

              Kommentar


              • #22
                Da hat mal wieder jemand nicht verstanden, wo der PHP-Scope entdet, und wo MySQL anfängt...

                Grundregel: Bevor du es nicht schaffst vernünftig mit Strings umzugehen, versuch erst gar nicht einen solchen an eine MySQL-DB zu schicken. Eigentlich ist keiner deiner Beispielcodes korrekt.

                Kommentar


                • #23
                  Perfekt.
                  Diese Seite gefällt mir sehr gut:
                  http://reeg.junetz.de/DSP/

                  Danke für den Link.
                  Hab Sie gerade ausgedruckt damit ich im Zug etwas zu tun habe zur Arbeit und zurück.
                  Meine Firma freut sich jetzt über 500Blätter im Kopierer weniger

                  Bin dann mal lesen.

                  Kommentar


                  • #24
                    Meine Firma freut sich jetzt über 500Blätter im Kopierer weniger
                    Kündigungsgrund!

                    Kommentar


                    • #25
                      Original geschrieben von TobiaZ
                      Kündigungsgrund!
                      Nein.
                      Es dient der Weiterbildung.
                      Wie im Vertrag abgeschlossen,
                      dürfen wir sämtliche Materialien nutzen um uns im Bereich der Informatik weiter zu bilden.
                      Dazu gehören Kugelschreiber, Blöcke, Tesafilm und der Kopierer
                      (Das Klo natürlich auch...)

                      Kommentar


                      • #26
                        BOAH
                        hatte ich ein Brett vorm Kopf?
                        Ich kann ja nicht mit einer Variablen rechnen, die noch garkeine variable ist!
                        Sprich mit Z_ZDatum kann ich garnicht arbeiten, da sie zur Anfrage gehört.

                        Mensch, was ein n00b ich bin.
                        Warum sagt das keiner? ...

                        Kommentar


                        • #27
                          OffTopic:
                          Wer nicht kochen kann, arbeitet nicht als Koch. Weil jeder einen Geschmackssinn hat, der Chef, die Kollegen, die Gäste.
                          Aber viel zu viele Laien arbeiten als Informatiker. Das kann eigentlich nur in Kreisen funktionieren, in denen keiner den Unterschied kennt.
                          Also wie Kochen in einer Welt ohne Geschmack. Macht das Spaß?

                          Kommentar


                          • #28
                            PHP ist ein anderes Gebiet.
                            Ich bin eigentlich VB entwickler darf mich selten aber immerhin mit html, php, java, MySQL, MSSQL und ggf. Ajax auseinandersetzen.

                            Ich sage auch immer. Ich HASSE es an etwas zu arbeiten, was ich nicht verstehe. Aber was Chefe sagt, das muss gemacht werden.
                            Denn jeder Auftrag der überzogen wird, kostet tausende von Euros und da mach ich keine Faxen

                            Kommentar


                            • #29
                              Ach hör doch auf ...
                              Original geschrieben von phpMorpheus2
                              Ich kann ja nicht mit einer Variablen rechnen, die noch garkeine variable ist!
                              Sprich mit Z_ZDatum kann ich garnicht arbeiten, da sie zur Anfrage gehört.
                              Das wäre dir doch in VB genauso passiert!

                              Kommentar


                              • #30
                                Original geschrieben von onemorenerd
                                Ach hör doch auf ...

                                Das wäre dir doch in VB genauso passiert!
                                In VB arbeite ich nicht T-SQL und ADO auf einem MSSQL Serve

                                Kommentar

                                Lädt...
                                X