Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: serialize mysql
Forum PHP.pl > Forum > PHP
miojamo
Witam,


Jak sprawdzic czy kolumna jest polem serializowanym? Musze wykonac zapytanie:


SELECT count(id) FROM #__cd_ads WHERE $d_name = $catid AND published = 1

Problem polega na tym ze niektore kolumny to dane serialized

Próbowalme z LIKE ale wtedy moze sie powtorzyc.
Luneth
GROUP BY lub DISTINCT, wtedy Ci się nie powtarzają. Ale poza tym opisz może dokładnie tą tabelę, pola i jakie ich typy i czemu ma to w ogóle służyć, co chcesz osiągnąć winksmiley.jpg
miojamo
group by ani distinct chyba nie pomoze

w jednej tabeli mam mam klumny ktore musze zliczyc

i tak moze byc wartosc dla kolumny 12
ale dla kolejne moze byc serialized a:3:{i:0;s:2:"21";i:1;s:2:"22";i:2;s:1:"0";}

i tu jest problem mozna uzyc 2 zapytan z like i bez jesli sprawdzic z kolumna jest serialized.

Luneth
Nie rozumiem Cię. Masz tabelę. W niej kolumnę gdzie mogą być przechowywane dane zserializowane lub integer i masz zliczyć ilość wierszy, w których są dane zserializowane, czy tak?
miojamo
Wszystkie wiersze niezaleznie czy sa zserializowane czy tez nie ale warunek ze jesli w serilizowanych rowniez zawiera się szukany int.
Luneth
No to WHERE `nazwa_kolumny` LIKE %szukanyInt% - taki warunek nie starczy? Jeśli ma być razem z nazwą konkretnej zmiennej w zapisie serializowanym no to wtedy:
  1. WHERE `nazwa_kolumny` = 'szukany_int' OR `nazwa_kolumny` LIKE %fragment_serialized_z_szukanym_intem%
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.