Mam sobie tabelke ogloszenia_ogl. Jest tam kilka pól charakteryzujących produkt , kategorie w ktorej sie znajduje oraz aktywnosc. Poczatkowo pole akcept bylo set ('0','1') wszystko dzialalo pieknie na zapytanie :
SELECT COUNT(id) AS ile FROM ogloszenia_ogl WHERE akcept='1' AND sciezka LIKE '%/$k%'
Liczylo wszystkie rekordy aktywne z kategorii i podkategorii $k.
Postanowilem wprowadzic 3 wartosc do komorki akcept.
Ustawilem ja SET('0','1','2'). W tym momencie wszystko sie posypalo. Zapytanie zaczelo zwracać rekordy niezależnie od pola akcept. Teraz zmieniłem poraz kolejny na int(2) - caly czas jest źle.
Baza jest wypelniona paroma rekordami wiec niespecjalnie wiem co zrobić, najchętniej bym ją skasował i zaczął od nowa, ale to raczej nie wchodzi w gre.
Co ciekawe jesli to zapytanie wkleje do phpmyadmina to dziala poprawnie , jednak w skrypcie w ogole nie bierze pod uwagę pola akcept, zupelnie jakby go nie bylo.
php Version 4.4.1
mysql Client API version 4.1.12
adodb 4.65
a kawelek kodu wyglada tak:
<?php if ($page != ""){ $zzz = $page * 10; } else { $zzz=11; $page=1; } $limit_min = $zzz - 10; $limit_max = 10; $i = 0; $liczenie ="SELECT COUNT(id) AS ile FROM ogloszenia_ogl WHERE akcept='1' AND sciezka LIKE '%/$k%' "; $policz_ile2 = $db->Execute("$liczenie"); while (!$policz_ile2->EOF) { $ile_zdjec = $policz_ile2->fields['ile']; // echo("$ile_ogloszen asdasd"); $policz_ile2->MoveNext(); } // while ?>
najlepsze jest to jak potem wyswietlam te wyniki i kaze pytam where akcept='1' to on pokazuje mi wszystkie rekordy, i przy kazdym wyswietlam ile wynosi akcept to pokazuje 1.
jesli spytam sie :
WHERE akcept='1'
to pokazuje cos innego niz
<?php where akcept=1 ?>
Czy to możliwe żeby baza się sypła? Jak skopiowałem tę tabelę to zapytanie wcale nie chce działać w adodb(zwraca blad), w phpmyadmin działą
Spotkał się ktoś z czymś takim i wie jak to ugryźć ?
Z góry dzięki za pomoc.
ps mam nadzieje że w dobrym dziale pisze...