![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam!
Mam takie zapytanie czy w tym kodzie który jest poniżej muszę coś bindować?
Dopiero bindowanie robie w drugim pliku upa2.php i pytanie czy dobrze jest zrobione bindowanie?
Ten post edytował woxala123 3.02.2017, 22:00:47 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
I gdzie masz niby to bindowanie w update?
-------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Czyli najpierw ten placeholder musi się znajdować gdzieś w zapytaniu. Masz wszystko w dokumentacji opisane.
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Przecież pętla while wyciąga każdy rekord z bazy i wykonuje się tyle razy, ile jest rekordów. Po co każdy jeszcze indeksujesz? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Przecież tu jest to w zapytaniu
Niree dlatego tak to robię bo działa. Tylko jeszcze chce wiedzieć czy dobrze to zrobiłem bindowanie?
To jest moja wersja. Czy ona będzie okey? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Obrazowo. Zabierasz się za malowanie pokoju. Przygotowałes farbę, umoczyles wałek a na ścianach obrazy, na podłodze dywan i meble rozłożone. Do tego drzwi do pokoju otwarte i każdy może wejść i wszystko wynieść. Tak wygląda twoje zapytanie.
-------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Patrzyłeś w dokumentację czy jak zawsze ci się nie chce. Wklej tutaj przykładowe zapytanie które podają.
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Tutaj mam taki przykład
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
I naprawdę nie widzisz różnicy w kodzie prepare obu zapytań?
-------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
no okey poprawie to i ocenisz
Ten post edytował woxala123 4.02.2017, 00:00:30 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 879 Pomógł: 230 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) ![]() ![]() |
@woxala123
Viking próbuje Cię naprowadzić na rozwiązanie, ale chyba masz złe okulary na nosie i nie widzisz. Jeżeli stosujesz bindValue to zgodnie z twoimi zmiennymi zapytanie do bazy powinno wyglądać tak: Kod UPDATE users SET password = :password , username = :username WHERE id = :id Bez cudzysłowia, bez dolców. Jak się zagłębisz w zapytania PDO, to będziesz mógł tworzyć zapytania bez zmiennych bind podanych wyżej, a tylko: Kod UPDATE users SET password = ? , username = ? WHERE id = ? LIMIT 1 - jeżeli kolumna ID jest unikatowa, jest nie potrzebne. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
I popsułeś zabawę
![]() -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Zabawa jest świetna. Ale skoro zastosowałem zmienne to je bindowałem.Twój przykład też jest godny zastosowania-też już czytałem na ten temat. To jest tylko kwestia przerobienia kodu.
teraz wygląda tak. Dostoswałem się jak jest wyżej.
Ten post edytował woxala123 4.02.2017, 10:39:35 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bindowałeś do zapytania które nie było przygotowane na to. Innymi słowy, podstawiałeś zmienne POST bezpośrednio do zapytania a niżej jakiś zbędny kod. Już nie pamietam - PDO nie rzucało tam wyjątku że liczba parametrów zbindowanych nie równa się liczbie placeholderów?
-------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Właśnie nic nie wyrzuca. Działa dobrze. Przecież wyżej były trzy zmienne
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Podstawione bezpośrednio do SQL. Jeśli tego nie potrafisz zrozumieć to nie wiem jak inaczej wytłumaczyć.
-------------------- |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 12 Dołączył: 9.01.2010 Ostrzeżenie: (10%) ![]() ![]() |
Okey poddaje się. To proszę napisz przykład jak to powinno wyglądać.
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poddaje się, powinno wyglądać jak w poście 15. W poście 12 bindujesz sobie w pustkę.
-------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 08:36 |