ďťż
Podstrony
|
telcocafePrzykładowe zapytanie: SELECT date FROM blog_entries WHERE date LIKE "2007%"Czemu nie działa w MySQL5 ? Na Krasnalu wszystko OK, a na yoyo.pl null. Chcę, by znalazło wszystkie wpisy zaczynające się od 2007, ale nie mam nic! Czemu? Spróbuj dać nazwy w `:SELECT `date` FROM `blog_entries` WHERE `date` LIKE "2007%"; Poza tym, może wejdź do bazy spod PMA i sprawdź, czy aby na pewno tak nazywają się nazwy tabeli i komórek, i czy aby na pewno wpisy zaczynają się na "2007", bo może jakiś znaczek siedzi na początku... ;) Pozdrawiam. edit: a może być to spowodowane samą bazą, click :kwasny: Użytkownik DJ_ProG edytował ten post 26 luty 2007, 13:24 Spróbuj dać nazwy w `: To nie ma różnicy. podaj komunikat błędu MySQL - bez tego to gdybanie. Jeżeli skrypt nie wywala błędu (tak zrobiony) to wykonaj zapytanie w phpMyAdminie :) Poza tym, może wejdź do bazy spod PMA i sprawdź, czy aby na pewno tak nazywają się nazwy tabeli i komórek, i czy aby na pewno wpisy zaczynają się na "2007", bo może jakiś znaczek siedzi na początku... ;) Niestety wiem co robię, i napewno zaczyna się od 2007 ;) MySQL 4 radzi sobie z tym OK, ale 5 już niee <_< podaj komunikat błędu MySQL - bez tego to gdybanie. Jeżeli skrypt nie wywala błędu (tak zrobiony) to wykonaj zapytanie w phpMyAdminie :) Nie ma żadnego komunikatu błędu... Click - Kalendarz powinien zawierać linki tworzone przez zapytanie, które podałem... //edit Czy jest jakaś alternatywa dla LIKE? Użytkownik andrzej_aa edytował ten post 28 luty 2007, 08:47 Nie ma żadnego komunikatu błędu a co mowi mysql_error() ? Czy jest jakaś alternatywa dla LIKE? jest ;] wyciagniecie wszystkich zapytan, i potem warunek w petli ze jak znajdzie 2007 to ma wyswietlic :) Kiedyś znalazłem bardzo ciekawy artykuł... http://kskowron.enzo...a-w-mysqlu.html to co podałeś to wyszukiwanie pełnotekstowe a tutaj potrzebne jest zwykłe LIKE. Pełnotekstowe zwraca podobieństwa i mógłby uznać np. 2006 za podobny z jakimś tam prawdopodobieństwem i zwrócić. a co mowi mysql_error() ? On chyba nie mówi, ale też niczego nie wyświetla... jest ;] wyciagniecie wszystkich zapytan, i potem warunek w petli ze jak znajdzie 2007 to ma wyswietlic :) Też nad tym myślałem, ale co będzie, jeśli takich wpisów będzie więcej? Np. 10 tys.? <_< to co podałeś to wyszukiwanie pełnotekstowe a tutaj potrzebne jest zwykłe LIKE. Pełnotekstowe zwraca podobieństwa i mógłby uznać np. 2006 za podobny z jakimś tam prawdopodobieństwem i zwrócić. Możesz to objaśnić? Mój Krasnal z MySQL 4 "śpiewa", yoyo.pl z MySQL 5 "leży"! Jak to obejść? Użytkownik andrzej_aa edytował ten post 02 marzec 2007, 14:51 wykonaj zapytanie w phpMyAdminie - to na pewno zwróci komunikat błędu ;) wykonaj zapytanie w phpMyAdminie - to na pewno zwróci komunikat błędu ;) Dokładnie tak. Obadaj co ci phpMyAdmine powie bo on zawsze wyświetli ci błąd jeśli jakiś jest. To bardzo dobry sposób na debugowanie takich rzeczy :) Co za! MySQL 5 zwraca wyniki w postaci: Array ( [date]=> 2007-02-11 14:05:17 ) Array ( [date] => 2007-02-12 11:47:25 ) Array ( [date] => 2007-02-13 09:32:43 ) Natomiast MySQL 4: Array ( [date]=> 20070211140517 ) Array ( [date] => 20070212114725 ) Array ( [date] => 20070213093243 ) Czego tak? Czy da się w MySQL 5 zrobić wyświetlanie wyników tak jak w MySQL 4? a jakiego typu jest to pole ? sprawdź w dokumentacji MySQL dla 5 czy i co uległo zmianie. (imo) Jasne :P Wystarczy, że przy pobieraniu wyników użyjesz MySQL'owej funkcji format_date :) AFAIR SELECT date_format(date,'%Y%m%d%H%i%s') FROM blog_entries WHERE date LIKE "2007%" Działa, ale w ten sposób: SELECT date_format(date, '%Y%m%d') FROM blog_entries WHERE date_format(date, '%Y%m%d') LIKE "'.$year.$month.'%" ;) Niestety tablica, którą zwraca zawiera nieładne klucze date_format(date, '%Y%m%d'), ale może być i to... Czy ta funkcja działa również w MySQL4? Użytkownik andrzej_aa edytował ten post 07 marzec 2007, 11:12 AFAIK tak :) Najlepiej sam sprawdź. |
|||
Sitedesign by AltusUmbrae. |