Diskuze: Chyba vo WHERE
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.
Není chyba v názvech sloupců? Hodil by se výpis chyby.
Btw. je velmi nebezpečné vkládat proměnné přímo
do dotazu. Lepší by bylo používat PDO (třeba i wrapper ze
zdejších manuálů). K bezpečnosti: http://www.itnetwork.cz/…ion-a-obrana
A k čemu tam jsou ty dva středníky?
...md5($heslo)."';";
Zda to chápu správně, jeden patří k MySQL dotazu a druhý k PHP kódu. Ten pro MySQL je ale zbytečný.
Hodí to nějakou chybu, nebo se jen nevypíše nic?
Zkoušel jsi nahradit PHP za normální text, tedy to zadat napevno?
Nevím, co používáš za typ databáze (předpokládám MySQL), ale zkus
WHERE meno = '".$meno."' AND heslo = '".md5($heslo)."'
nahradit za
WHERE meno LIKE '".$meno."' AND heslo LIKE '".md5($heslo)."'
Může i záležet na tom, jestli hesla v db ukládáte jako char, nebo binary - v tom případě by se mělo porovnávat heslo rovnítkem.
A BTW, není to náhodou parádní SQL injekce?
Zobrazeno 7 zpráv z 7.