![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
Helloł
![]() Panie i Panowie (to tak, żeby ta piękniejsza część się nie obraziła), postanowiłem przerobić moje skrypty żeby działały nieco lepiej, używając nieco mądrzejszych metod i ... owszem, część ... bez problemu ale kiedy zmieniłem procedurę aktualizacji danych .... nie chce działąć. Nie zeby to był jaiś kosmiczny ciąg zapytań czy coś, poprostu aktualizacja jednej wartości, zresztą sami zobaczcie:
I co tu jest źle ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Czy tak ciezko napisac czym sie blad objawia?
2) Tak ciezko sprawdzic zawartosc zmiennych? 3) Tak ciezko wyswietlic potencjalny blad bazy danych? 4) Czy tak ciezko zajrzec do manuala i zobaczyc jak sie powinno poprawnie wykonywac bind_param?! http://php.net/manual/en/mysqli-stmt.bind-param.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
bind_param na pewno nie ma takiej składni. Przyjrzyj się dokładnie jeszcze raz w dokumentacji.
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
Widać nie jestem jeszcze na poziomie kiedy potrafi się sprawdzić co się dzieje ze skryptem do którego wysyłamy dane ajaxem
![]() Nie wiem, jak sprawdzić, wiem napewno, że ajax wysyła dane, widzę to w konsoli, nie potrafię albo nie wiem jak spowodować żeby skrypt realizujący query pokazał cokolwiek - wszak on tylko wykonuje zadanie w tle?? No chyba, że jest jakaś metoda na podglądanie co robi ów skrypt nawet gdy tego nie widać ![]() Błąd jaki mi się pojawia to błąd serwera 500 a co za tym idzie nie łatwo stwierdzić jednoznacznie co go powoduje, bo 500 znaczy o ile wiem błąd kodu(zazwyczaj). Inna rzecz, że mój post znajduje się w dziale o dzwięcznej nazwie "Przedszkole" gdzie jak zawsze mi się wydawało, można pytać o rzeczy proste, banalne, podstawowe itd ![]() i gdzie na zadane pytanie otrzymam odpowiedź wyjaśniającą problem a nie "Weź 'se' poszukaj w googlach .... " albo poczytaj manual. ale mniejsza ..... Mówisz kolego, że składnia MySQLi bind->param nie wygląda w ten sposób ?
fakt, jest tam jeszcze jedna wartość która nie wiem tak naprawdę do czego się odwołuje. Poczytam więc MANUAL, dzięki za okazaną pomoc ..... Ten post edytował PHPRexio 13.11.2016, 19:15:17 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Widać nie jestem jeszcze na poziomie kiedy potrafi się sprawdzić co się dzieje ze skryptem do którego wysyłamy dane ajaxem I dlatego wlasnie jak sie zaklada temat to sie nie pisze: NIe dziala, zgadnijcie czemu Tylko sie pisze: wysylam ajaxa do takiego skryptu i dostaje 500. Tak ciezko? Od razu mozemy ci powiedziec: odpal konsole Firebug w Firefox i tam sobie mozesz podejrzec co zwraca ci dokladnie twoj skrypt. Dodatkowo wlacz wyswietlanie wszystkich bledow w php. To sa podstawy Cytat fakt, jest tam jeszcze jedna wartość która nie wiem tak naprawdę do czego się odwołuje. No tak, nie wiem do czego sluzy wiec go zignoruje a potem bede sie dziwil na forum ze nie dziala....Przeciez w manualu sa podane przyklady uzycia oraz jest opis kazdego parametru pokolei. Trzeba sie mocno starac by tego nie zobaczyc :/ Pierwszy parametr okresla typ wkladanych danych Cytat Inna rzecz, że mój post znajduje się w dziale o dzwięcznej nazwie "Przedszkole" gdzie jak zawsze mi się wydawało, można pytać o rzeczy proste, banalne, podstawowe itd No wlasnie nie za bardzo a juz szczegolnie gdy odpowiedz jak wol jest w manualu. Niestety cala rzesza uzytkownikow mysli ze jak przedszkole to juz nie musza sie sami wysilac
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
I tu cię zaskoczę nospor, poświęcam temu bardzo dużo czasu .... najwyraźniej nie jestem tak bystry jak mi się wydaje i to jest główny powód, że zaglądam na forum
![]() ![]() ![]() ![]() Co do właczania wyświetlania błędów, pewnie bym to zrobił gdybym testował kod na jakimś dev serwerze, ja niestety robię to natakim gdzie wolałbym tego nie robić, stąd problem. Ale mniejsza, jeśli mimo wszystko mogę dostać jakieś wskazówki ..... będzie fajnie, jeśli nie .... trudno, będę musiał się męczyć dalej sam ... czyli jak do tej pory. Według manuala, sssddi to znaczniki typu danych. Przykład którym się podpierałem to: http://php.net/manual/en/mysqli-stmt.bind-param.php I tutaj znalazłem co nieco na temat składni. Niestety nawet dodanie ss ani ii nie powoduje zmian czyli dalej nie działa.
Jeśli tak .... to dlaczego dalej nie działa ? Ten post edytował PHPRexio 13.11.2016, 19:35:51 |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Niestety nawet dodanie ss ani ii nie powoduje zmian czyli dalej nie działa. Bo nadal nie ma prawa dzialac. Zajrzyj prosze jeszcze raz do manuala i zobacz na jakim obiekcie jest wywolywane tam bind_param() a na jakim obiekcie wywolujesz to ty. Naprawde nie trzeba byc jakos specjalnie bystrym do tego ![]() Co do wyswietlania bledow: Jak nie mozna wlaczyc ich wyswietlania, to sie wlacza ich logowanie i przeglada logi ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
No fakt, mogę grzebać w logach ....
Tak zauważyłem .... sam się sobie dziwię jak mogłem tego nie zauważyć ![]()
Ten post edytował PHPRexio 13.11.2016, 19:40:45 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat sam się sobie dziwię jak mogłem tego nie zauważyć Bo nie przegladales logow ![]() Cytat No fakt, mogę grzebać w logach .... To naprawde nic ujmujacego ani hanbiacego. Kazdy porzadny dev grzebie w logach niezaleznie czy dopiero zaczyna czy zaczynal 20 lat temu. Lepiej wyrob sobie w koncu ten nawyk by nie latac z kazda pierda na forum. A jak juz polecisz to staraj sie udzielic wiecej informacji niz: nie dziala, czemu? To nie quiz. ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
Powoli nabieram, nie zmienia to jednak faktu, że dalej nie mogę się doszukać błędu i zaktualizować danych używając tej metody ....
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Widzisz na ekranie
Status stmtd! ? Jesli nie, znaczy ze cos nie tak ![]() Jesli tak, znaczy ze masz blad zapytania albo przekazujesz zle dane. W pierwszym wypadku wyswietl blad zapytania, w drugim wyswietl dane jakie wkladasz do zapytania -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
No właśnie nie, ale, poszedłem na łatwiznę i zrobiłem nieco inaczej. Nie do końca działa, jeszcze mi nie zwraca prawidłowo ale w bazie zapisuje
![]()
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 9 Dołączył: 14.09.2016 Skąd: Śląskie Ostrzeżenie: (0%) ![]() ![]() |
Powoli nabieram, nie zmienia to jednak faktu, że dalej nie mogę się doszukać błędu i zaktualizować danych używając tej metody ....
poczytaj o bind_param tymczasem podpowiem że bind_param powinien mniej więcej tak wyglądać:
edit1: Poprawka zapytania. Ten post edytował rafkon1990 14.11.2016, 11:00:48 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Wtrącę się tylko, że nie musisz tak zapisywać warunku:
Tablica $_POST nigdy nie będzie wypełniona, kiedy dane są przesłane inną metodą. Poza tym Twój kod wyrzuci notice, jeśli nie ma klucza method w danych POST. Lepiej to zapisać tak: |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
W międzyczasie zastanów się dlaczego w zapytaniu jest stmt zamiast update
-------------------- |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie chodzilo o zmienna $stmt tylko o tekst stmt w zapytaniu.....
stmt `shop_order` SET `status_id` = :status WHERE `order_id` = :order Robiac replace na calym pliku zamieniles bezmyslnie slowo kluczowe UPDATE w zapytaniu na STMT.... Mowilem bys wyswietlal bledy zapytan ale po co.... Przeciez i tak wiesz lepiej :/ -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 328 Pomógł: 3 Dołączył: 10.07.2016 Skąd: UK-raine Ostrzeżenie: (0%) ![]() ![]() |
Aaaa to mi się przypadkiem zmieniło, ale zaraz poprawiłem i tak naprawdę było jak należy.
Całkowicie jednak odmienny jest sposób bindowania od tego o którym czytałem, stąd nieporozumienie i dlatego nic mi nie działało. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 07:39 |