SQL Formatierung Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo, für ein Hilfesystem bennötige ich folgenden SQL Code:

    SQL
    SELECT * FROM `Hilfen` WHERE `Text` LIKE '%Text%'


    So nun formatiere ich diesen so:

    Code
    format(sql,sizeof(sql),"SELECT * FROM `Hilfen` WHERE `Text` LIKE '\%%s\%'",helpString);

    Ich möchte, dass die % mit in die Abfrage gehen, da diese ja Platzhalter sind. Desswegen die \ davor, damit die so mit durchgegeben werden und vom format nicht beachtet werden.
    Das ganze funktioniert aber leider nicht wirklich.


    Ausgeführt wird dann, unabhängig vom Inhalt von "helpString" folgendes:

    SQL
    SELECT * FROM `Hilfen` WHERE `Text` LIKE '%s'

    (Habe ich aus der mysql_log.txt kopiert.


    Wenn ich die beiden "\%\%" jetzt weglasse wird der String richtig formatiert, allerdings habe ich dann halt die % nicht in der Abfrage.


    Ich hoffe das ganze war irgendwie verständlich.

  • Hast du das ganze auch einfach mal so probiert?


    C
    format(sql,sizeof(sql),"SELECT * FROM `Hilfen` WHERE `Text` LIKE '%%s%'",helpString);

    Ich bin mir nicht zu 100% sicher, ob das funktioniert.

  • Hast du das ganze auch einfach mal so probiert?


    C
    format(sql,sizeof(sql),"SELECT * FROM `Hilfen` WHERE `Text` LIKE '%%s%'",helpString);

    Ich bin mir nicht zu 100% sicher, ob das funktioniert.

    Habe ich bereits ausprobiert. Ist ebenfalls folgendes raus gekommen:

    SQL
    SELECT * FROM `Hilfen` WHERE `Text` LIKE '%s'


    Dennoch vielen Dank für deine Hilfe.