Jak mám při ukládání článku do MySQL ošetřit apostrofy, aby se ukládání předčasně neukončilo? Prý je na to nějaká funkce, ale já nevím jaká :-( Dík za radu
No, pokud jsem to dobře pochopil tak se ptáš na funkci addslashes() ...
http://cz.php.net/manual/cs/function.addslashes.php
ale jeste bych rad pripomenul,ze vetsina dnesnich databazi jiz obsahuje 'upravu' s automatickou funkci addslashes - cesky receno, ze se pred uvozovky a apostrofy umisti \ aniz bys musel volat nejakou fci ...
<HTML>Freeze: zajímavá myšlenka. Jak to ta dabáze v tom SQL řetězci pozná, to mi budeš muset někdy vysvětlit.
Takže ošetření je nutnost. Osobně bych ale dal přednost funkci mysql_escape_string nebo mysql_real_escape_string (ta druhá nemusí na WZ fungovat, je v novějším PHP), které jsou k tomu přímo určeny. Addslashes se IMHO dají na něčem krásně nachytat.</HTML>
Heh, tak s tim SQL jsem vychazel z vlastnich zkusenosti - kdyz se pokusis ulozit do VARCHAR, CHAR nebo TEXT, ... text, ktery obsahuje uvozovky nebo apostrofy, tak se automaticky escapuji .... :) (mozna je to jen nastaveni php, moc jsem to nezkoumal :) ... )
Jinak je addsleshes ma svoje mezery .. to je pravda :)
Btw podle toho co si pamatuju, tak by na wz melo byt php 4.3.2 ... takze mysql_real_escape_string by melo jit bez problemu :)
<HTML>> Jak to ta dabáze v tom SQL řetězci pozná, to mi budeš muset někdy vysvětlit.
To vysvetleni bych taky rad vedel</HTML>
Pavel (webadresy.wz.cz)
apostrofy = problem asi u phpRS, funkce viz Freeze (dreamer.kvalitne.cz),
http://cz.php.net/addslashes
a s autouvozovkami jsem se taky setkal. Docela mi to zkomplikovalo zivot nez jsem odhalil. Hadam, ze je to nejake nastaveni v configu php, pripadne to v php pujde asi zapnout.
Richard (moderátor)
Myslim, ze se nic nepoznava, proste to escapuje. Pripadne muze pouzit reg vyraz pro vyhledani uvozovky a podle toho se rozhodnout slashovat. Kazdopadne vysledek je stejny. Kdyz jsou potreba, da je ta, kdyz ne, tak je nema k cemu davat.