[ bugsu @ 24.10.2009. 23:25 ] @
imam jedan query i u njemu medju ostalim znakovima imam i ; tj. semicolon ...
i posto mysql skonta da je to kraj upita on odradi do prvog znaka ; a imam ih 8....

kako to da izbegnem?
[ BigFoot @ 25.10.2009. 00:05 ] @
Staviš pod apostrofe kao i svaki string:
Code:
INSERT INTO tbl (StrPolje) VALUES ('proba; tačka-zarez');
[ bugsu @ 25.10.2009. 10:06 ] @
hm...

Ako ubacim ovako
INSERT INTO `sessions` SET session_data='language|s:5:\"en_US\"\';\'uid|s:3', session_id = 'b9a1699e698c1c40ce7e1aec1ddd55ab', session_expires='1257067295'
onda ubaci samo do ; ovo iza ne ubaci

ako ubacim ovako

INSERT INTO `sessions` SET session_data='language|s:5:"en_US"';'uid|s:3', session_id = 'b9a1699e698c1c40ce7e1aec1ddd55ab', session_expires='1257067343'

onda error
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''uid|s:3', session_id = 'b9a1699e698c1c40ce7e1aec1ddd55ab', session_expires='125' at line 1


verzija servera MySQL client version: 4.1.22
[ Miroslav Ćurčić @ 25.10.2009. 10:27 ] @
Probaj 'vako: session_data='language|s:5:"en_US"'';''uid|s:3'
[ bogdan.kecman @ 25.10.2009. 10:41 ] @
Citat:
bugsu
Ako ubacim ovako
INSERT INTO `sessions` SET session_data='language|s:5:\"en_US\"\';\'uid|s:3', session_id = 'b9a1699e698c1c40ce7e1aec1ddd55ab', session_expires='1257067295'


Code:

mysql> select 'language|s:5:\"en_US\"\';\'uid|s:3';
+--------------------------------+
| language|s:5:"en_US"';'uid|s:3 |
+--------------------------------+
| language|s:5:"en_US"';'uid|s:3 | 
+--------------------------------+
1 row in set (0.00 sec)


dakle ako ga stvarno tako ubacujes, mora da prodje posto su apostrofi escapeovani.

ono sto je moguce je da nisu escapeovani tj da ovaj string u stvari izgleda:
'language|s:5:"en_US"';'uid|s:3'

sto je onda skroz druga prica i da, ubacice samo do ;

ako koristis php, proveri automatsko escapeovanje da li je upaljeno ili ne i ako jeste odradi prvo unescape() i onda u svakom slucaju koristi koristi mysql_real_escape_string() da pravilno escapeujes string..