Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit REGEXP

Einklappen

Neue Werbung 2019

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

  • Problem mit REGEXP

    Hallo zusammen, hoffe ich habe das richtige Unterforum gewählt.
    Also ich möchte in einem Query etwas auslesen, die bedingung ist eine Zahl (in einer Variable) die im SQL Feld per Kommatrennung enthalten sein muss.

    Das Problem ist, das zwischen

    [[:<:]] //Start of word
    [[:>:]] //End of word

    die Variable nicht gelesen wird. Schreibe ich ohne Variable eine Ziffer funktioniert es.

    Hier der Fehlversuch mit einer Variable

    Code:
    SELECT `id`, `name` FROM record WHERE record_id REGEXP [[:<:]]'$val'[[:>:]] ORDER BY `id` ");
    Bestimmt ist meine Schreibweise verkehrt, nur finde ich keine Lösung.

    Danke schonmal.

  • #2
    Bei einer durch Kommata getrennten Liste brauchst Du keine regulären Ausdrücke in MySQL.
    PHP-Code:
    $var 4;
    $sql "
      SELECT
        `id`, `name`
      FROM
        record
      WHERE
        FIND_IN_SET(
    $var, record_id)
    "

    siehe http://dev.mysql.com/doc/refman/5.0/...on_find-in-set

    Wenn das allerdings eine Abfrage ist, die regelmäßig/ständig ausgeführt wird, solltest Du die Tabelle(n) anders aufbauen, damit MySQL Indizes zum Auffinden der Datensätze verwenden kann.

    Kommentar

    Lädt...
    X