![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 1 Dołączył: 13.07.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Przypuśćmy, że mam taką oto tabelkę: Kod | pole1 | pole2 | pole 3 | pole_z_danymi_zserializowanymi | Pole "pole_z_danymi_zserializowanymi" ma powiedzmy takie zmienne i wartości: Kod zmienna1|s:9:"127.0.0.4";zmienna2|b:1;zmienna3|b:1;zmienna4|i:1250520156;zmienna5|s:4:"ktos"; Do zapytania "doklejam" np. takie zmienne: $zmienna1 = '127.0.0.3'; $zmienna5 = 'ktos'; I teraz chciałbym wykonać zapytanie, które zwróci mi zawartość pola "pole1", gdzie: 1.) "zmienna5" ma wartość równą zmiennej "$zmienna5" 2.) "zmienna1" ma wartość inną niż zmienna "$zmienna1" PS. W zmiennej "zmienna1" oraz "$zmienna1" zawsze będzie się znajdował jakiś adres IP, ale dowolny więc również zawartość zmiennej "zmienna1" będzie miało zmienną długość. Z kolei w zmiennej "zmienna5" oraz $zmienna5 zawsze będzie nazwa użytkownika, również dowolnej długości. Na razie moje zapytanie uwzględnia tylko pierwszy warunek: Kod $query = "SELECT * FROM ".$tabela." WHERE pole_z_danymi_zserializowanymi REGEXP '(zmienna5\|s\:)*(\:\"".$zmienna5."\")'"; Jak skonstruować zapytanie by uwzględniło oba warunki? Wiem, że mógłbym rozbić to na 2 zapytania, ale zapewne da się to zrobić w jednym. Cały bajer polega na tym, że zmienne "zmienna1" i "zmienna5" mogą się znajdować w polu "pole_z_danymi_zserializowanymi" w odwrotnej kolejności ![]() Ten post edytował Walian 17.08.2009, 18:53:28 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 15:11 |