Autor | Zpráva | ||
---|---|---|---|
Tucker Profil * |
#1 · Zasláno: 9. 7. 2012, 15:22:15
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 |
#2 · Zasláno: 9. 7. 2012, 15:26:15
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 |
#3 · Zasláno: 9. 7. 2012, 15:41:16
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 * |
#4 · Zasláno: 9. 7. 2012, 16:39:08
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 |
#5 · Zasláno: 9. 7. 2012, 18:01:44
Podívejte se na http://phpfashion.com/escapovani-definitivni-prirucka
|
||
Časová prodleva: 12 let
|
0