Textsuche mit "LIKE '%abc%'" unterscheiden zwischen groß und klein Buchstanben :(

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Textsuche mit "LIKE '%abc%'" unterscheiden zwischen groß und klein Buchstanben :(

    Hallo,

    ich habe hier eine instant mysql Suche, die je nach passender Eingabe direkt die Ergebnisse ausgibt.

    Leider unterscheidet die Abfrage mit "WHERE eintrag LIKE '%{$q}%'" immer noch die groß und klein Buchstaben, also "A" ist was anderes als "a" ..

    wie kann ich das machen, das es nicht mehr nach der groß und klein Schreibung unterschieden wird?

    Danke im Voraus!!!

  • #2
    Eine Kollation für die Spalte/Tabelle wählen, die case sensitive ist.

    Comment


    • #3
      wie genau mach ich das ^^.. ist das ein Bestandteil der sql abfrage?

      Comment


      • #4
        MySQL :: MySQL 5.1 Referenzhandbuch :: A.5.1 Groß-/Kleinschreibung beim Suchen

        Comment


        • #5
          hmmm..
          irgendwie bekomm ich eine fehlermeldung ..
          hab das so aufgebaut:

          PHP Code:
          WHERE spaltenname LIKE '%{$q}%' CHARACTER SET latin1 COLLATE latin1_bin 
          fehler:
          You have an error in your SQL syntax;

          wo isn der fehler daa??

          Comment


          • #6
            Wie kommst du auf Grund der Beispiele auf der verlinkten Seite auf die Idee, dort CHARACTER SET einzubauen?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Comment


            • #7
              keine ahnung.. mit

              PHP Code:
              WHERE spaltenname LIKE '%{$q}%' COLLATE latin1_bin 
              hab ich das selbe problem

              Comment


              • #8
                Originally posted by BananaJo View Post
                hab ich das selbe problem
                Die selbe Fehlermeldung meinst du?
                Dann benenne diese bitte im kompletten Wortlaut, und zeige die komplette Query.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Comment


                • #9
                  ah sorry war nicht die selbe fehlermedung..

                  habe jetzt "utf8_bin" anstatt "latin1_bin" .. bekomme zwar ne ausgabe, aber ich bekomme immer noch eine unterscheidung zwischen groß und klein Buchstaben...

                  Comment


                  • #10
                    Problem nicht nachvollziehbar.

                    Code:
                    # Query:
                    SELECT
                      'XABCY' LIKE '%abc%' as test1,
                      'XABCY' LIKE '%abc%' COLLATE utf8_bin as test2
                    
                    # Ergebnis:
                    # test1  test2 
                    #     1      0
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Comment


                    • #11
                      das ist meine abfrage als beispiel

                      PHP Code:
                      SELECT bezeichnung 
                      FROM tabelle WHERE bezeichnung LIKE 
                      '%a%' COLLATE utf8_bin
                      ORDER BY bezeichnung LIMIT 10 
                      Bei den einträgen z.b.

                      "Abcde" und "acbde" wird leider nur "abcde" ausgegeben und nicht beides....

                      Comment


                      • #12
                        Originally posted by BananaJo View Post
                        Bei den einträgen z.b.

                        "Abcde" und "acbde" wird leider nur "abcde" ausgegeben und nicht beides....
                        Dann meinst du es genau anders herum, als es bisher rüber kam - du willst nach a suchen, aber auch A finden.
                        Dann willst du natürlich keine bin-Collation verwenden, sondern im Gegenteil eine ci-Collation.

                        Code:
                        SELECT
                          'XABCY' LIKE '%abc%' as test1,
                          'XABCY' LIKE '%abc%' COLLATE utf8_general_ci as test2
                        
                        # Ergebnis:
                        # test1  test2 
                        #     1      1
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Comment


                        • #13
                          funzt!!!!

                          Danke

                          Comment

                          Working...
                          X