Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Blad w zapytaniu PDO
Forum PHP.pl > Forum > Przedszkole
Octobus
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 ?
viking
$stmt->debugDumpParams();
Octobus
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 ...
nospor
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
Octobus
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
nospor
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
viking
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.