![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 0 Dołączył: 18.11.2008 Skąd: Polska Ostrzeżenie: (10%) ![]() ![]() |
mam taki kod
i do tego baze : id INT unsigned notnull auto_increment tytul text notnull tag text notnull url text notnull web text notnull key text null created_at datatime notnull do bazy mam wrzucone 3 rekordy w ktorych podane jest : id tytul url web created_at i idea kodu jest pobranie 1 filmiku z bazy ktory nie ma uzupelnionego key pobranie jego adresu i z adresu pobranie jego key i wpisanie go do bazy. ale nie dziala siedze nad tym caly dzien i lipa:/ dostaje blad Fatal error: Call to a member function fetch() on a non-object in C:\Program Files\WebServ\httpd\pobieranie4.php on line 7 prosze pomozcie jak ktos wie gdzie jest blad?? |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Fatal error: Call to a member function fetch() on a non-object in C:\Program Files\WebServ\httpd\pobieranie4.php on line 7 Cytat Fatal error Wywołanie funkcji fetch() na czymś co nie jest obiektem w pliku C:\Program Files\WebServ\httpd\pobieranie4.php w linii 7 Jaki wniosek Ci się nasuwa? Taki, że PDO::query() nie zwróciło obiektu klasy PDOStatement tak jak to miało się stać. Jakieś pomysły na debuggowanie? 1. Wpisz zapytanie w phpMyAdmina. Może coś jest z nim nie tak. 2. Zaraz po wykonaniu PDO::query() i jeszcze prze użyciem feralnego PDOStatement::fetch() skorzystaj z PDO::errorInfo(), żeby dowiedzieć się czy coś poszło źle. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 0 Dołączył: 18.11.2008 Skąd: Polska Ostrzeżenie: (10%) ![]() ![]() |
zrobilem tak :
i dostalem wynik : Array ( [0] => 42000 [1] => 1064 [2] => Something is wrong in your syntax obok 'key is null limit 1' w linii 1 ) Fatal error: Call to a member function fetch() on a non-object in C:\Program Files\WebServ\httpd\pobieranie4.php on line 11 |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
[2] => Something is wrong in your syntax obok 'key is null limit 1' w linii 1 No widzisz. Zapytanie jest niepoprawne. Dlaczego skoro składnia jest jak najbardziej OK?Otóż dlatego, że każdy z silników bazodanowych ma pewną pulę zarezerwowanych słów. Zerknij na MySQL :: Reserved Words a dowiesz się że key jest na tej liście co oznacza, że musisz tą nazwę specyficznie zapisywać w zapytaniach. Jak? Komentarze pod tekstem dadzą Ci odpowiedź. ---edytowane--- Podmieniłem link ~mike |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 128 Pomógł: 0 Dołączył: 18.11.2008 Skąd: Polska Ostrzeżenie: (10%) ![]() ![]() |
no fajnie szkoda ze jeden znika a 2 sie pojawia
Array ( [0] => 00000 ) array(3) { [0]=> string(5) "23000" [1]=> int(1048) [2]=> string(33) "Kolumna 'tytul' nie może być null" } skad tu wogole sie bierzez tytul?? Ten post edytował shtoc 8.12.2008, 22:02:47 |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
[2]=> string(33) "Kolumna 'tytul' nie może być null" Skoro sobie założyłeś, że tytuł musi zawsze być to teraz zadbaj o to by był.Jeśli nie uda Ci się go pobrać z pliku XML to wstaw jakiś inny, domyślny. W liniach 58-61 masz bezcelową pętlę, wewntrz której jest tworzona zmienna $tytul, którą to później chcesz wstawić. Sprawdź dlaczego jest pusta. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam taki kod:
oczywiście także jest switch który odwołuje się do wybranej funkcji. Funkcja wygląda tak:
Kłopot z tym że nie zmienia mi wszystkiego i od razu. Mianowicie jest ciągle problem z pierwszym artykułem. Mianowicie jeśli pierwszy artykuł nie zmienię to drugi też nie idzie zmienić. Jednak jeśli zmienię ów pierwszy to drugi też da się zmienić. Natomiast pierwszy mogę zmieniać swobodnie. Będę wdzięczny za wszelką pomoc. Znowu trochę próbowałem coś zmienić i nadal nie potrafię nic wymyśleć. Bardzo proszę o pomoc, bo rozwiązanie jest chyba blisko, ale nie potrafię znaleźć błędu. Ten post edytował webmaniak 25.05.2010, 17:24:12 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 580 Pomógł: 85 Dołączył: 25.03.2010 Skąd: Skrzyszów :) Ostrzeżenie: (0%) ![]() ![]() |
Brakowało Ci WHERE w seleccie |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 30 Dołączył: 14.04.2010 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem tak:
i ... działa (IMG:style_emoticons/default/guitar.gif) (IMG:style_emoticons/default/biggrin.gif) jesteś (IMG:style_emoticons/default/Rkingsmiley.png) . Dzięki bo się z tym męczyłem i w końcu mogę się zająć dalszą częścią (IMG:style_emoticons/default/smile.gif) Jeszcze raz dziękuję. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:30 |