PHP a mysql nefunkcni dotaz

Robert Vojta robert na v0jta.net
Pátek Únor 8 22:07:15 CET 2002


Jan Havlicek <havlicek na vse.cz> writes:

> *** Hmm... nekolik napadu. Jelikoz si nejsem vzdy jisty, jak zaprqcuji "
> a ' v dotazu, radsi pouzivam bezpecnou variantu spojovani retezcu, dotaz
> by tedy vypadal cca takto:
> 
> "SELECT heslo FROM pristupy where heslo='".$zadaneheslo."'"

  Osobně bych řekl, že toto není o nic více bezpečné než to předchozí. Co
třeba ...

addslashes -- Quote string with slashes

 Returns a string with backslashes before characters that need to be quoted in
 database queries etc. These characters are single quote ('), double quote
 ("), backslash (\) and NUL (the NULL byte).

  "SELECT heslo FROM pristupy where heslo='".addslashes($zadaneheslo)."'"

> Pak jeste jedna vec. Pisete ze stejny skript funguje na Win, kde je
> stejna databaze. _POZOR_ Windowsy nerozlisuji vekla a mala pismena v
> nazvech souboru, ale Unix ANO. Tabulka je zaroven soubor (resp. nekolik
> souboru). Opravdu se tabulka jmenuje pristupy a ne treba PRISTUPY nebo
> Pristupy? Tusim ze totez plati pro nazvy atributu.

  No, stejná databáze, pokud si pustí Windows a připojuje se k databázi
'localhost', težko to bude ta samá (jedině, že by nějak sdílel data mezi
oběma, ...). Ale jinak s tou velikostí písmen je to tak a tady bude
nejpravděpodobněji chyba.

-- 
Robert V0jta

  The abuse of greatness is when it disjoins remorse from power
                                      -- William Shakespeare, "Julius Caesar"


Další informace o konferenci Linux