Arent Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 Witam wszystkich Mam dziwny problem z insertem, oto kod: <?PHP include('http://download.xxxx.csv'); mysql_connect("mysq", "name", "pass") OR die("Nie można nawiazac polaczenia z baza"); mysql_select_db("NAZWA"); $czas=date("H,i,s,m,d,Y"); $query=("INSERT INTO NAZWA VALUES (NULL, '$czas', 'http://download.xxxx.csv')"); mysql_query($query) or die ("Wystąpiły problemy przy zapisywaniu danych"); mysql_close($my_connection); ?> oczywiście mam komunikat Wystąpiły problemy przy zapisywaniu danych Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 Zła nazwa tabeli czy po prostu dodawany rekord nie uzupełnia wszystkich pól tabeli. Może być też brak zgodności typów pól dodawanych do pól tabeli. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 Dopisz .mysql_error() po tym Wystąpiły problemy przy zapisywaniu danych. Przydaloby sie znac tresc bledu... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Kofel Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 Warto też używać czegos innego do obsługi bazy niż te standardowe funkcje. Np. PDO, AnoDB, mysqli i inne śmiecie ;o. Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 28 Lutego 2008 Administratorzy Udostępnij Opublikowano 28 Lutego 2008 Warto też używać czegos innego do obsługi bazy niż te standardowe funkcje. Np. PDO, AnoDB, mysqli i inne śmiecie ;o. Pozdrawiam. Jasne... Kofelku jasne... Spróbuj dodać przez phpmyadmina INSERT INTO nazwa VALUES (NULL, 'costam', 'http://download.xxxx.csv'); zobacz jaki error wywala Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mike_p Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 Po co dajesz te argumenty w apostrofach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 28 Lutego 2008 Administratorzy Udostępnij Opublikowano 28 Lutego 2008 Po co dajesz te argumenty w apostrofach? żeby się dodały ? Ja nawet liczby podaję w apostrofach (inna sprawa, ze mam też pola ENUM i dzięki temu nie mieszają się indeksy z mozliwościami). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kryniak Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 Po co dajesz te argumenty w apostrofach? Żeby nie wypluło błędu składniowego (czy jakiegoś tam). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
mike_p Opublikowano 28 Lutego 2008 Udostępnij Opublikowano 28 Lutego 2008 A. Mi nie wypluwa. Doba, nieważne, trzeba sprawdzić jaki błąd wywala. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arent Opublikowano 29 Lutego 2008 Autor Udostępnij Opublikowano 29 Lutego 2008 ok, dzięki wielkie za pomoc, mam jeszcze 1 pytanie, można w bazie mySQL zmienić "time zone" na Greenwich? tak żeby podczas $czas=date("H,i,s,m,d,Y"); nie był zapisywany czas polski tylko czas Greenwich Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Nobody Opublikowano 29 Lutego 2008 Udostępnij Opublikowano 29 Lutego 2008 Date() podaje chyba rozny czas, w zaleznosci w jakim kraju jestes (lub od ustawien w systemie, nie jestem pewien). Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Lutego 2008 Udostępnij Opublikowano 29 Lutego 2008 To robisz tylko +- kilka godzin i masz czas Greenwich. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arent Opublikowano 29 Lutego 2008 Autor Udostępnij Opublikowano 29 Lutego 2008 To robisz tylko +- kilka godzin i masz czas Greenwich. no tak, ale jak czas np. w Polsce się zmiani na letni, to się wszystko sypnie 2. sprawa, zrezygnowałem z kolumny ID, która pełniła rolę indeksu i usunąłem ją, chciałem, żeby rolę indeksu pełnił date() jednak po dodaniu rekordu kolejność jest taka 29/02/2008 | 13:54:18 29/02/2008 | 13:54:05 a chciałbym żeby było: 29/02/2008 | 13:54:05 29/02/2008 | 13:54:18 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 29 Lutego 2008 Udostępnij Opublikowano 29 Lutego 2008 To zmień pole daty na liczbę - datę unixową. Tekstu się raczej nie sortuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arent Opublikowano 29 Lutego 2008 Autor Udostępnij Opublikowano 29 Lutego 2008 no tak, ale skoro nowy rekord dodaje przed 1. rekord, a nie za ostatnim to chyba musi się to skądś brać, chyba można to jakoś ustawić, żeby dodawało domyślnie za ostatnim rekordem? zrobię jeszcze mały offtopic nt. CRONa jest jakaś alternatywa dla crona, coś słyszałem o jakichś wyzwalaczach w mojej firmie hostingowej z poziomu panelu można ustawić cron-a, ale trzeba czekać kilka godzin na aktywację, do tego z tego co widzę, to hosting maskuje katalog var/spool/ (nie widzę go z poziomu klienta FTP) no i chciałbym ustawić go np. tak, ze uruchamia się w każdy dzień roboczy (pn-pt) i działa np. od 6.00 do do 18.00 uruchamiając zadanie co 15 minut, czegoś takiego nie moge skonfigurować, więc sie zastanawiem czy nie ma jakiejś alternatywy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Piczer Opublikowano 3 Marca 2008 Udostępnij Opublikowano 3 Marca 2008 istnieje w poleceniu SELECT takie coś jak ORDER BY blabla DESC, albo bez... Wtedy masz uporządkowane wyświetlenie daty. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arent Opublikowano 3 Marca 2008 Autor Udostępnij Opublikowano 3 Marca 2008 ano takie cuś SELECT * FROM $tablename WHERE timestamp>=1 ORDER by timestamp; ale trochę czasu zejdzie zanim to posortuje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Tymon Opublikowano 3 Marca 2008 Udostępnij Opublikowano 3 Marca 2008 A timestamp to... chodzi o typ pola. Po za tym, mógłbyś wybierać tylko kilka rekordów, a nie wszystkie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 3 Marca 2008 Filar Społeczności Udostępnij Opublikowano 3 Marca 2008 1) Jeżeli chcesz w bazie danych trzymać datę, to stwórz w tym celu kolumnę int (o długości 11 znaków bodajże) i zapisuj czas w postaci liczby unixtime. Dzięki temu zaoszczędzisz sobie kłopotów z postformatowaniem. Poza tym na zwykłych liczbach lepiej się operuje. 2) Kolumna daty pełniąca rolę indeksu, to bardzo zły pomysł, bo raz, że będą kłopoty ze zmianami czasu, a po drugie w danej sekundzie może się zdarzyć, że dodasz więcej niż jeden wiersz, a to poskutkuje powstaniem dwóch wpisów z tym samym indeksem. Parametr UNIQUE nie ochroni przed ewentualnymi błędami. 3) Jeśli chodzi o indeksację wierszy, to powróć do tego co usunąłeś, a mianowicie stwórz kolumnę typu int i nadaj jej właściwości: PRIMARY, UNIQUE oraz AUTO INCREMENT i NOT NULL. Ten sposób jest znacznie lepszym i szybszym rozwiązaniem. Poza tym taka kolumna zjada mało zasobów i umożliwa późniejsze łatwe wiązanie z innymi tabelami. 4) Sortowanie wierszy względem kolumny liczbowej jest zawsze bardzo szybkie, więc nie wiem w czym problem. Poza tym jeżeli chcesz sortować według kolumny o innym typie danych lub według wielu kolumn, to często opłaca się nałożyć INDEX np. typu BTREE (zjada troszkę miejsca, ale przyspiesza ewentualne operacje na kolumnach czasem nawet kilkadziesiątkrotnie). Co do crona, to właśnie służy od tego co napisałeś i nie ma sensu szukać innych alternatyw, zwłaszcza że twój ISP i tak na to nie pozwoli. Może tworzysz złe reguły? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arent Opublikowano 4 Marca 2008 Autor Udostępnij Opublikowano 4 Marca 2008 A timestamp to... chodzi o typ pola. wiem! dałem typ pola timestamp i nazwe timestamp 2) Kolumna daty pełniąca rolę indeksu, to bardzo zły pomysł, bo raz, że będą kłopoty ze zmianami czasu, a po drugie w danej sekundzie może się zdarzyć, że dodasz więcej niż jeden wiersz, a to poskutkuje powstaniem dwóch wpisów z tym samym indeksem. Parametr UNIQUE nie ochroni przed ewentualnymi błędami. ano nie pomyślałem :D 4) Sortowanie wierszy względem kolumny liczbowej jest zawsze bardzo szybkie, więc nie wiem w czym problem. Poza tym jeżeli chcesz sortować według kolumny o innym typie danych lub według wielu kolumn, to często opłaca się nałożyć INDEX np. typu BTREE (zjada troszkę miejsca, ale przyspiesza ewentualne operacje na kolumnach czasem nawet kilkadziesiątkrotnie). no jednak trochę czasu mija, jak się ma np. 10k wierszy Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 5 Marca 2008 Filar Społeczności Udostępnij Opublikowano 5 Marca 2008 no jednak trochę czasu mija, jak się ma np. 10k wierszyTo robisz coś źle, bo ja wyciągając 30 wierszy z puli 150.000 przy sortowaniu względem kolumny liczbowej uzyskuję czas rzędu ułamka sekundy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 5 Marca 2008 Administratorzy Udostępnij Opublikowano 5 Marca 2008 Ot podobnie i u mnie, na forum przecież są setki postów a ja wybierając tylko kilkanaście z nich razem z resztą zapytań mieszczę się w 0.05 sekundy. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Arent Opublikowano 6 Marca 2008 Autor Udostępnij Opublikowano 6 Marca 2008 no nie wiem, może zależy od obciążenia serwera, ja mam dziennie około 50k odsłon (łącznie z phpbb2, które też się muli), a cały content jest w bazie, więc zapytań trochę jest ps1. coś ten zegar w mysql krzywo chodzi :) porównuję go z zegarkiem z TVP3 i są 2 min. rozbiezności, skąd MySQL synchronizuje swój zegar? robi to firma hostingowa? ps2. co się stało z algorytmy.pl? od tygodnia próbuję tam wejść ale widzę tylko białe tło, tylko logo w pasku adresu widać, u was to samo (chodzi tylko pod firefoxem, a co z operą i IE?)? ktoś mógłby polecić coś podobnego, tj. za wykupiony abonament dostaje się drobną pomoc programisty Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Administratorzy gnysek Opublikowano 6 Marca 2008 Administratorzy Udostępnij Opublikowano 6 Marca 2008 zegar z BIOSa oczywiście, jak w każdym komputerze :P Tak naprawdę nie wiesz gdzie jest rozbieżność, może to czas słoneczny ? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Filar Społeczności Ranmus Opublikowano 6 Marca 2008 Filar Społeczności Udostępnij Opublikowano 6 Marca 2008 Jeżeli firma hostingowa synchronizuje swój czas za pomocą serwerów publicznych ntp, to zapewne ma dokładniejszą datę niż TVP3. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się