Probleme mit SQL-Abfrage mit ò und ó

  • Servus...

    Habe in einem Plugin für das WSC 5.3 ein SQL Abfrage problem.
    Und komme irgendwie grad nicht auf eine Lösung und hoffe Ihr könnt mir ein Denkstoß verpassen :D

    Zwar folgendes.

    Es wird in ein Formular überprüft ob ein Name schon vorhanden ist.
    Normal klappt dies, jedoch mit den Apostrophen nicht so....

    Folgende Überprüfung.

    Code
    $memberList = new MemberList();
    $memberList->getConditionBuilder()->add('name = ?', [$name]);
    
    if ($memberList->countObjects() > 0) {
        [...]
    }

    Inglórious = Name in der Datenbank

    Inglòrious = Name der in die Datenbank soll

    Wie gesagt, mit Apostrophen in Namen meckert er rum, das der Name Inglòrious schon vorhanden ist..



    Ich hoffe Ihr könnt mir da helfen.
    Sollten noch Fragen sein, dann fragt :D

    MfG Marco

  • Das geht so, wie du es versuchst, aufgrund der Kollation nicht. Deswegen ist es auch nicht möglich, z.B. einen Benutzer namens "Böse" und einen namens "Bose" zu haben:



    Statt utf8mb4_unicode_ci bräuchte es hier utf8mb4_bin, allerdings ergeben sich dann andere Probleme.

    Edited once, last by SoftCreatR (April 18, 2021 at 2:52 PM).

  • Statt utf8mb4_unicode_ci bräuchte es hier utf8mb4_bin, allerdings ergeben sich dann andere Probleme.

    Danke für den Denkanstoß...

    Hatte nun mal nach uft8mb4_bin und Probleme gesucht.

    Dabei bin ich auf eine Lösung, die klappt, gestoßen.

    Code
    $memberList = new MemberList();
    $memberList->getConditionBuilder()->add('BINARY name = ?', [$name]);

    Dies sucht nun korrekt nach den Namen und auch den Unterschied mit ò und ó...


    Trotzdem Danke für deine Hilfe..

    MfG Marco

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!