Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Blad w zapytaniu PDO
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Mam zapytanie typu
Kod
$stmt = $opd->prepare('insert into baza set kolumna1 = :wartosc1, kolumna2 = :wartosc2, kolumna3 = :wartosc3');


$stmt->bindValue(':wartosc1',             htmlspecialchars($_POST['wartosc1'], ENT_QUOTES),            PDO::PARAM_STR);
$stmt->bindValue(':wartosc2',             htmlspecialchars($_POST['wartosc2'], ENT_QUOTES),            PDO::PARAM_STR);
$stmt->bindValue(':wartosc3',             htmlspecialchars($_POST['wartosc3'], ENT_QUOTES),            PDO::PARAM_STR);
$stmt->execute()


skrypt byl na serwerze home.pl i dzialal, teraz go musialem przeniesc na inny serwer i juz nie dziala poprawnie. Nie zapisuja sie wszystkie wartosci a tylko czesc. W danych _POST jest wszystko jak nalezy, do bazy trafia wpis, ale nie wszystkie kolumny maja odpowiednie wartosci mimo ze sa w _POST. Pytanie jak to debugowac czemu nie wszystko zostalo wgrane ? Przy daniu $opd->debugDumpParams(); wyskakuje blad:
Kod
Call to undefined method opdClass::debugDumpParams()

jak wiec debugowac to zapytanie ?
Go to the top of the page
+Quote Post
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


$stmt->debugDumpParams();


--------------------
Go to the top of the page
+Quote Post
Octobus
post
Post #3





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Niestety tez nie dziala:
Call to undefined method opdStatement::debugDumpParams()

rzeczy ktore sa w echo, nie zapisuja sie do bazy danych, jednak wyswietlaja sie poprawnie przez echo ...

Ten post edytował Octobus 3.10.2017, 10:11:14
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Wywal te htmlspecialchars. Tego sie uzywa przed wyswietlaniem a nie przed wkladaniem do bazy
2) To moze napisz dokladnie nam, ktore pola sie nie wkladaja do bazy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Octobus
post
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Cytat(nospor @ 3.10.2017, 11:03:13 ) *
1) Wywal te htmlspecialchars. Tego sie uzywa przed wyswietlaniem a nie przed wkladaniem do bazy

to stary skrypt, pisal go lata temu ktos z home.pl i duzo rzeczy jest przestarzalych a sam skrypt niklej jakosci. Podzialalo, dzieki smile.gif
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
pisal go lata temu ktos z home.pl
Kolejne potwierdzenie ich genialnej fachowej obslugi...
Skoro wywaliles te htmlspecialchars to pamietaj by je dodac przed wyswietlaniem bo bedziesz mial XSS


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
viking
post
Post #7





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Natomiast sam problem może być w braku domyślnego kodowania dla htmlspecialchars - w zależności od wersji PHP była inna domyślna a nie było tu nic ustawione, albo kolizji w polem binary w bazie.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 10:02