Urldecode działa nieprawidłowo

0

Witam

Korzystam już z PHP od jakiegoś czasu ale nie spotkałem się dotychczas z takim problemem. Mianowicie jeżeli mam zapytanie

 
$nRows = $dbh->query("SELECT COUNT(*) FROM zumi_results WHERE keyword = '". urldecode($what) . "' AND place='" . urldecode($_GET['place']) ."'")->fetchColumn();  

W adresie mam http://127.0.0.1/maps/x.php?place=Tarn%F3w&search=sklep&l=pl&num=30

To wynik jest zero, jeśli w zapytaniu zamiast place wpiszę na sztywno Tarnów to dostaję 29.

Oczywiście dane są w bazie, jeżeli identyczne zapytanie wykonam z phpMyAdmina to dostaję 29 czyli to co powinienem dostać, czemu z PDO dostaję 0?

Set names jest na utf-8, baza utf8_general.

Ja już nie wiem o co tutaj chodzi, jesli po zdekodowaniu $place zapiszę to do pliku to poprawnie dostaję

  SELECT COUNT(*) FROM zumi_results WHERE keyword = 'sklep' AND place='Tarnów'

Z góry dziękuję

EDIT::

Działa. utf8_encode(), ale po jasną cholerę?

0

Nie musisz robić urldecode. Parametry bodaj same są dekodowane. No i tutaj masz szablonowy przykład podatności SQLi.

0

Dobra nazwa tematu. "urldecode działa nieprawidłowo". powinno być "nie wiem jak użyć urldecode", ew. "nie wiem jakie dane wejściowe przekazuję do funkcji, ale wiem jakiego wyniku oczekuję".

1 użytkowników online, w tym zalogowanych: 0, gości: 1