![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Dzien dobry.
Próbuje zrobić swój pierwszy rozbudowany projekt. Wszystko szło okey do momentu w którym chciałbym edytować pojedynczy rekord w bazie. Wstawie kod będzie łatwiej wytłumaczyć. Wyskakuje mi wiadomość z catcha mimo tego że żadne throw nie zostaje uruchomiony a sama edycja pominięta jeżeli ktoś by mi wytłumaczył gdzie robię błąd byłbym wdzięczny.
Tutaj funcja magic Connect
Z góry dziekuję i pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przeciez obiekt $e zawiera dokladna wiadomosc co i gdzie jest zle. Zamiast latac po forach, wpierw wyswietl to sobie a sie dowiesz co ci rzuca wyjatkiem
-------------------- "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: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za opowiedz. Nie pomyślałem o tym
Dobra stary dzięki wielkie mam problem ze zmienną $comic_id/ Gdy zmieniłem na numer rekordu 32 normalnie zmienia tytuł w bazie. Treść błędu to "mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '32''' at line 1 in C:\xampp\htdocs\SystemZglaszaniaMarkNaDomene\editTitle.php:50 Stack trace: #0 C:\xampp\htdocs\SystemZglaszaniaMarkNaDomene\editTitle.php(50): mysqli_query(Object(mysqli), 'UPDATE registra...') #1 {main} Wiesz może czy zmienną którą wprowadzam w instrukcji update musze konwertować na jakis konkretny typ? Działa musiałem skonwertować na inta dziękuję za podpowiedz Ten post edytował Misza71 12.07.2022, 13:47:56 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Skoro uzywasz mysqli poczytaj o BINDowaniu danych do zapytania. W tej chwili twoj kod jest dziurawy jak ser szwajcarski
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Zabezpiecze przed sqlinjection jak będzie działac. Jeszcze musze edytować całą bązę danych. No i teraz jest kolejny problem bo po konwersji wartośc mojej zmiennej to zero...
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Watpie ze 0 jest wynikiem kowersji. Poprostu ta zmienna od poczatku jest kijowa
![]() Zaprzyjaznij sie z VAR_DUMP i stosuj zawsze gdzie popadnie var_dump($_GET); i zobacz dokladnie co siedzi w get a nie polegasz na jakis zalozeniach -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
nospor dzięki za wskazówki i pomoc. Bez Ciebie siedziałbym jeszcze pół dnia albo zmieniał cały kod. Pozdrawiam
![]() Za chwilkę sprawdze co robi Var_dump bo myślałem badziej o ctype_alnum i sprawdzaniu o długości. W zmiennej siedział string zle zabrałem się za konwersje . Bindowanie działa też przy użyciu mysqli? czy tylko w pdo? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
mysqli tez ma bindowanie. Temu napisalem ze skoro uzywasz mysqli to zainteresuj sie bindowaniem
![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Wstawie mój skończony kod. Zrobiłem te binodwanie ale nie działa nie wyskakuje żaden błąd ale dane nie są aktualizowane.
Prosze jak znajdziesz chwilę rzuć okiem bo nie mam pomysłu. To już ostatnia prośba pozdrawiam Ten post edytował Misza71 13.07.2022, 10:18:18 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
1) Sie zdecyduj i albo robisz bindowanie albo nie. Teraz to samo zapytanie raz odpalasz z bindowaniem a raz bez
2) VAR_DUMP, pamietasz? Pokaz co zwraca var_dump($newTitle); var_dump($comic_id) -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Wiem że miałem dwa sposoby edycji ale nie działało bindowanie i po prostu robiłem dalej projekt.
Zawartośc zmiennych: newTitle = string(9) "Tytul" comic_id =string(4) "'32'" Ten sam problem z tym że nie wiem jak konwertować na inta. Wcześniej w kodzie odbywa się taka konwersja |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
no jak ci to ma dzialac, jak twoja liczba przekazana do bindowania zawiera apostrofy... Teraz masz '32' a masz miec 32. Do bindowania przekazuje sie normalne dane a nie w ciapkach
Prosilem wczesniej zrobic var_dump($_GET); Bo teraz to wyglada jakbys te dane w ciapkach przekazywal juz GET i POSTem. No chyba ze gdzies tam w odchlani twojego kodu sam dodajesz te ciapki. Nie wiem, z kodu co pokazales tutaj nic takiego nie wynika. Wiec albo GETem slesz od razu w ciapkach albo sprawdz czy sam gdzies nie dodajesz. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Miałes rację w get przekazywałem dodatkowe ''. Byłem świecie przekonany że gdy używasz instrukcji echo to apostrofy drukują nazwę zmiennej za to średniki jej wartośc.
To jest kod który wysyła geta z strony poprzedzającej edycje tytułu. Dzięki za poświęcony czas i pomoc, najprawdopodobniej odpuściłbym bindowanie i zrobił to tradycyjną metodą. Pozdrawaim ten php wcale nie jest porsoty jak się wydaje Ten post edytował Misza71 13.07.2022, 14:26:42 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ten php wcale nie jest porsoty jak się wydaje Jak ktos robi glupie bledy to wszystko wydaje sie trudne ![]() Cytat Byłem świecie przekonany że gdy używasz instrukcji echo to apostrofy drukują nazwę zmiennej za to średniki jej wartośc. Nie boj sie robic eksperymentow by doskonalic swoja wiedze. NIe robisz przeciez aktywnego reaktora jadrowego. Nie rozwalisz pol swiata:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Dobra pomieszało mi się jej na odwrót
![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cudzyslow uzywasz z grubsza gdy masz dlugi tekst do ktorego wkladasz zmienna a jestes na tyle leniwy ze nie chce ci sie laczyc tekstow np:
Oczywiscie zartuje z ta wersja dla "leniwych" ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Dobra na teraz już sobie odpuszczam. Kurczę nie wiem nawet jak mam Ci podziękować bo pisanie tego po raz 10 to już trochę cringe. Mam nadzieję ża nauka będzie owocna bo chciałbym sie po tym projekcie postarać gdzieś o praktyki
Lewniwi obracją świat ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Swoja droga w ostatnim kodzie co pokazales, bez sensu w oogle ze wchodziles w php. Skoro wiekszosc kodu to html to powinno to wygladac tak:
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 12.07.2022 Ostrzeżenie: (0%) ![]() ![]() |
Okey zmienię dzieki.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 20:36 |