Such bei SQL mit %like%

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

  • Such bei SQL mit %like%

    Hallo

    ich kann z.B. mit dem Quelltext eine straße aus der datenbank suchen:

    $ab = 'SELECT * FROM `Ort` WHERE `Strasse` LIKE CONVERT(_utf8 \'%Schillerstraße%\' USING latin1) COLLATE latin1_general_ci';

    Kann man das vieleicht so ändern das man das mit einer Variablem macht?
    weil so funktioniert es leider nicht:

    $strasse== Schillerstraße;

    $abfrage = 'SELECT * FROM `123` WHERE `456` LIKE CONVERT(_utf8 \'%$strasse%\' USING latin1) COLLATE latin1_general_ci';

    Kann mir da vieleicht jemand helfen.
    Danke schonmal im vorraus.

    MfG Bruchi

  • #2
    PHP-Code:
    $strasse"Schillerstraße";

    $abfrage "SELECT * FROM 123 WHERE 456 
    LIKE CONVERT(_utf8 \%"
    .$strasse."%\ USING latin1"COLLATE latin1_general_ci
    sry editiert!
    nicht getestet!
    Signatur-Text ...

    Kommentar


    • #3
      Das funktioniert leider nicht.

      Kommentar


      • #4
        Er sagt mir das in der Zeile ein fehler ist.
        Parse error: parse error, unexpected T_VARIABLE in ...

        Kommentar


        • #5
          Verschiebe das " hinter latin1 mal hinter latin1_general_ci
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            immer noch der selbe fehle.

            Kommentar


            • #7
              lass dir mal $abfrage mit echo ausgeben - was steht dann da gesamt?
              Signatur-Text ...

              Kommentar


              • #8
                der IE sagt mir das in der zeile ein fehler ist.
                also bringt das nix mit echo.
                noch eine andere idee.

                Kommentar


                • #9
                  PHP-Code:
                  $abfrage "SELECT * FROM 123 WHERE 456 
                  LIKE CONVERT(_utf8 %"
                  .$strasse."% USING latin1"COLLATE latin1_general_ci;

                  echo 
                  $abfrage
                  ankoppklatsch ...

                  ... mach so:

                  $abfrage = "SELECT * FROM 123 WHERE 456 LIKE CONVERT(_utf8 %".$strasse."% USING latin1) COLLATE latin1_general_ci";
                  Signatur-Text ...

                  Kommentar


                  • #10
                    Original geschrieben von bruchimd
                    noch eine andere idee.
                    Ja - mit den Grundlagen der Syntax umgehen lernen, und solche simplen Parse Errors mal selber finden ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      das geht leider auch nicht.
                      wenn das so simpel ist warum schlägst du mir dann keine lösung vor?

                      Kommentar


                      • #12
                        Original geschrieben von bruchimd
                        das geht leider auch nicht.
                        Was geht nicht - die Grundlagen einer Technik lernen, die man einsetzen will?
                        Doch, das geht.
                        wenn das so simpel ist warum schlägst du mir dann keine lösung vor?
                        Es ist simpel.

                        Vielleicht fängst du mal mit http://www.php.net/manual/de/language.types.string.php an, dann sollte es dir auch klar werden.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          schau mal hier:
                          http://www-cgi.uni-regensburg.de/WWW...nual-4.1.1-de/
                          Signatur-Text ...

                          Kommentar


                          • #14
                            $strasse == "Schillerstraße";
                            $abfrage = 'SELECT * FROM `123` WHERE `456` LIKE CONVERT(_utf8 \'%.$strasse.%\' USING latin1) COLLATE latin1_general_ci';

                            dann gibt er mir unter:
                            echo $abfrage;

                            das hier aus.

                            SELECT * FROM `toner` WHERE `Toner` LIKE CONVERT(_utf8 '% .$strasse. %' USING latin1) COLLATE latin1_general_ci

                            aber keine daten darunter aus

                            Kommentar


                            • #15
                              Ja, und warum das so ist, findest du an der Stelle im Manual erläutert, die ich dir verlinkt hatte.

                              Also jetzt bitte RTFM, aber mal gründlicher.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X