Page 1 of 1
SQL ir simboliai
Posted: 2013 Feb 22 21:06
by xedga
Code: Select all
replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "'", "*" ) replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "^"", "*" ) replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "`", "*" ) replace_all( g_szName[ id ], charsmax( g_szName[ ] ), "´", "*" )
Čia turbūt lengviausias būdas išvengti bugu saugant žaidėjų nickus mysql.
Ar yra būdas saugoti žaidėjų nick nekeičiant simbolių? Ir ar tai labai sudėtinga padaryti?
Re: SQL ir simboliai
Posted: 2013 Feb 22 21:18
by aaarnas
' => \'
\ => \\
ir t.t.
Yra šiaip funkcija SQL_QuoteString, bet man ji nepatinka, nes jungiasi prie duombazės, kad apdoroti string. Papildomi resursai ir reikia Sql_connect tada naudoti.
Re: SQL ir simboliai
Posted: 2013 Feb 22 21:29
by hleV
Code: Select all
GetSecureName(const name[]){ new secureName[64]; copy(secureName, charsmax(secureName), name); replace_all(secureName, charsmax(secureName), "\", "\\"); replace_all(secureName, charsmax(secureName), "'", "\'"); replace_all(secureName, charsmax(secureName), "`", "\`"); return secureName;}
Svarbu pirma escape'int "\". Jei ne vardą escape'ini, tai dar reiktų dvigubų kabučių ("^"" → "\^"").
Re: SQL ir simboliai
Posted: 2013 Feb 22 22:29
by Tetusis
pagal mane ir
^" ^"
uztenka?
Re: SQL ir simboliai
Posted: 2013 Feb 22 23:49
by hleV
Nu tai taip. Aš pavaizdavau kaip kode tai atrodytų (string).
Re: SQL ir simboliai
Posted: 2013 Feb 23 00:36
by Tetusis
hleV wrote:Nu tai taip. Aš pavaizdavau kaip kode tai atrodytų (string).
if you say so, bus istestuota ateityje (:
Re: SQL ir simboliai
Posted: 2013 Feb 23 22:43
by xedga
Ačiū už pagalba, atrodo ok viskas ;)