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

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

  • 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.

    Kommentar


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

      Kommentar


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

        Kommentar


        • #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??

          Kommentar


          • #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.

            Kommentar


            • #7
              keine ahnung.. mit

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

              Kommentar


              • #8
                Zitat von BananaJo Beitrag anzeigen
                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.

                Kommentar


                • #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...

                  Kommentar


                  • #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.

                    Kommentar


                    • #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....

                      Kommentar


                      • #12
                        Zitat von BananaJo Beitrag anzeigen
                        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.

                        Kommentar


                        • #13
                          funzt!!!!

                          Danke

                          Kommentar

                          Lädt...
                          X