Autor Zpráva
Tucker
Profil *
DZravím mam problém že když ošetřim proměnou $_POST kterou si posílám do database s funcemi bud addslashes(), nebo mysql_escape_real_string() tak mi ani jedna z funkcí nepošle do database ve tvaru:

Ošetřený s funkcí addslashes(), nebo mysql_escape_real_string()
Mark\'s \'\'\' \' \' \'\' \' \'

Původní text:
Mark's ''' ' ' '' ' '

Jak vidíte v tom prvním tvaru to dostanu když tu funkci "vyechuju"
$msg = addslashes($_POST['aasd']);

Ale do database se mi vždy vloží ve tvaru Mark's ''' ' ' '' ' ' nechápu to

Děkuji za budoucí pomoc
Alphard
Profil
Tucker:
Ale do database se mi vždy vloží ve tvaru Mark's ''' ' ' '' ' ' nechápu to
A co byste tam chtěl vložit, pokazit si data? Tohle je správně, ne?
Joker
Profil
Tucker:
Nepoužívejte addslashes, jen mysql_real_escape_string.
A escapování speciálních znaků slouží právě k tomu, aby výsledkem byl původní (tj. zamýšlený) text.
Tj.:
INSERT INTO tabulka(jmeno) VALUES('O'Brian') způsobí chybu.
INSERT INTO tabulka(jmeno) VALUES('O\'Brian') vloží do sloupce hodnotu O'Brian.
Tak normálně funguje escapování.
Tucker
Profil *
Aha takže chápu to dobře že když to teda "escapuju" s mysql_real_esc.... tak výsledný text bude stejný?

Děkuji za pomoc takže celou dobu jsem to dělal špatně :D
Alphard
Profil
Podívejte se na http://phpfashion.com/escapovani-definitivni-prirucka

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: