marcinp1984
10.12.2017, 21:11:57
Witam serdecznie,
Mam mały problem, gdyż mnie mogę sobie poradzić z pobraniem daty z bazy :/ Mam takie coś jak poniżej
$query = mysql_query('select `expiration_date` from `License` where `login`="marcin" and `template`="001" and `language`="pl"');
Wynik jaki otrzymuję to 01-01-1970. Czemu?
StrefaPi
10.12.2017, 22:21:17
var_export($query)
mysql jest już przestarzały sprawdź PDO lub mysqli
SmokAnalog
10.12.2017, 23:43:18
Podstawy obsługi baz danych w PHP się kłaniają. Przerób jakiś tutorial po prostu.
marcinp1984
11.12.2017, 00:15:02
Jak dodałem var_export to wywalało błąd składniowy. Ale zamiast mysql_query dodałem mysqli_query i już jest trochę lepiej ale nie do końca. Aktualnie wyświetla mi bieżącą datę + 6 miesięcy a nie datę z bazy + 6 miesięcy :/
SmokAnalog
11.12.2017, 00:17:48
Bo tak się tego nie robi.
mysqli_query nie zwraca wyniku w taki sposób. Umiesz debugować kod? Bo to, że teraz masz aktualną datę plus 6 miesięcy to totalny przypadek.
marcinp1984
11.12.2017, 00:54:55
Nie bardzo umiem

Firebag ma jakiś debuger chyba ale nie wiem czy to się do tego nadaje. Właśnie sęk w tym, że od początku miałem kłopot aby pobrać datę z bazy danych ale nie mogłem tego znaleźć. Jest pełno tematów odnośnie formatowania daty ale w przykładach nikt jej nie wyciąga z bazy tylko na sztywno wpisuje stringa jakiegoś.
Neutral
11.12.2017, 01:25:00
Używaj narzędzi developerskich wbudowanych w przeglądarkę. Firebug nie jest już chyba wspierany i/lub rozwijany.
https://hacks.mozilla.org/2017/10/saying-goodbye-to-firebug/https://addons.mozilla.org/en-US/firefox/addon/firebug/Tytuł mówi chyba sam za siebie.
SmokAnalog
11.12.2017, 01:27:41
Cytat(Neutral @ 11.12.2017, 01:25:00 )

Używaj narzędzi developerskich wbudowanych w przeglądarkę. Firebug nie jest już chyba wspierany i/lub rozwijany.
Ciekawe jak ma używać narzędzi wbudowanych w przeglądarkę do debugowania PHP. Nie wprowadzaj kolegi w błąd.
Przeglądarka nie wie nic o Twoim PHP, bo PHP się wykonuje po stronie serwera i tylko wypluwa wynik. Przeglądarka bawi się tylko z tym wynikiem. Dobrze byłoby ogarnąć takie podstawy.
viking
11.12.2017, 06:47:30
Firebug miał dodatek firephp. Kolejny powód dlaczego fb był lepszy pod każdym względem niż to co jest teraz.
marcinp1984
11.12.2017, 10:44:58
W sumie fakt, kiedyś instalowałem firebuga teraz w każdej przeglądarce jest jakieś narzędzie które wygląda podobnie

Bardziej nazwałem to z przyzwyczajenia. Ale nie zmienia to faktu, że tej daty pobrać mi to nie pomoże
viking
11.12.2017, 10:51:32
Ale powinna dokumentacja
http://php.net/mysqli_queryCytat
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.
Mysqli result object
http://php.net/manual/en/class.mysqli-result.php i np
http://php.net/manual/en/mysqli-result.fetch-row.php
marcinp1984
11.12.2017, 11:39:33
Niestety nie pomaga... Gdybym znalazł coś co pomogłoby mi rozwiązać problem to nie zakładałbym tego tematu bo w pierwszej kolejności przez 2 godziny szukałem jakiegoś rozwiązania.
viking
11.12.2017, 11:42:57
Ale co nie pomaga? Pokaż kod po zmianach. Masz w dokumentacji pełny przykład jak potraktować query.
marcinp1984
11.12.2017, 11:59:24
W podanych przykład nawet łącznie z bazą danych wygląda inaczej niż jest to u mnie wykonane - zapewne u mnie jest to już przestarzałe bo wykonane było z 5 lat temu ale działa poprawnie i nigdy nie było problemów. Ja chcę tylko wyciągnąć datę bo do tej pory tego nie było a nie zmieniać cały kod. Jednak zupełnie nie wiem jak przełożyć to co jest w przykładach na to co ja potrzebuje - być może jest to proste ale dla osób, które działają w phpie i się dobrze w temacie orientują.
viking
11.12.2017, 12:03:47
marcinp1984
11.12.2017, 12:30:47
Wróciło wszystko do punktu wyjścia tzn. wyświetla się 01-01-1970. Natomiast gdy zapytania użyje w phpMyAdmin to datę pokazuje sobie poprawną tak więc to chyba nie problem samego zapytania do bazy.
viking
11.12.2017, 12:39:38
W jakim formacie jest pole expiration_date i jakie daty do niego zapisujesz?
marcinp1984
11.12.2017, 12:53:09
Pole expiration_date jest polem typu data. Dodaję ja w sposób:
$query = "INSERT INTO License VALUES ('".$pass."', '".$szablon."', '".$name."', NOW(), adddate(NOW(), interval 6 month))";
Przy dodawaniu wyświetlam ją
Tu nie muszę wczytywać nic z bazy więc problemu nie mam.
nospor
11.12.2017, 13:08:46
pokaz dokladnie jak teraz pobierasz te $date z bazy bo ewidentnie ciagle zle...
viking
11.12.2017, 13:14:10
Już ci mówiłem wcześniej pogrubionym tekstem czym jest zmienna $query.
marcinp1984
11.12.2017, 13:17:28
$query = mysqli_query('select DATE_ADD(`expiration_date`, INTERVAL 6 MONTH) from `License` where `login`="marcin" and `template`="dom_i_ogrod001" and `language`="pl" ');
Teraz gdy sobie sprawdziłem pod zmienna $query chyba jest pusta bo nic nie wyświetla tak więc nic dziwnego że zmienna $date przechowuje jakąś dziwną datę.
nospor
11.12.2017, 13:21:47
od poczatku w tym temacie ci pisano, ze nie tak sie pobiera wartosc z bazy... jak grochem o sciane
marcinp1984
11.12.2017, 13:26:40
No i od początku twierdzę, że nie wiem jak to zrobić. W googlach nic nie odnalazłem, linki do dokumentacji w niczym mi nie pomogą bo tak jak pisałem tam nawet inaczej wygląda połączenie z bazą i zupełnie nie wiem jak to ogarnąć na swoim przykładzie.
viking
11.12.2017, 13:28:20
marcinp1984
11.12.2017, 13:57:36
No dobra to tera pytanie czemu mysql_fetch_array? To wynik pobrany z pola typu data musi być zapisany w tablicy?
viking
11.12.2017, 14:02:45
Może być w obiekcie. Wiedziałbyś to po przeczytaniu dokumentacji i tego co do ciebie mówię n-ty raz.
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.