Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Import SQL příkazů

Mám v php proměnné několik SQL příkazů. Jsou oddělené středníkem (šéf o jiném oddělovači nechce ani slyšet). A potřebuju, aby se postupně provedly, ovšem nikoli pomocí multiquery, to náš framework neumí (a jiný mám zakázáno použít), ale jako jednotlivé příkazy. Když to rozdělím na jednotlivé příkazy pomocí Explode, tak je problém, když se třeba v updatu vyskytne středník v textu. Šéf radí použít preg_match_all, nemáte tip, jak by ty reg. výrazy měly vypadat, aby fungovaly pro všechny možné SQL příkazy?

Dík

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
jsem teda jen blbej ajťák, ale za "správným" oddělovacím středníkem musí IMHO následovat nějaké "úvo…
touchwood 03.05.2012 12:51
touchwood
Přesně tak bych to dělal taky. A to jsem jenom blbej programátor...:-) nový
MaSo 03.05.2012 12:54
MaSo
je tam jen takové menší riziko malformed SQL query.. [exploits_of_a_mom.png] edit: což by ale při… nový
touchwood 03.05.2012 12:56
touchwood
prosimte odkud to je? Rád bych to uvedl na svuj blog a chtel bych tam i originalni zdroj (jsem perve… nový
AZOR 03.05.2012 13:17
AZOR
:-D tolik jich zase neni ? ALTER, CREATE, DROP, INSERT, SELECT, UPDATE, INSERT ALL,ANYLYZE,COMPUTE,… nový
AZOR 03.05.2012 13:02
AZOR
:-D navic nemusi nasledovat - muze tam byt netisknutelny znak, kterémy tam nevadi. nový
AZOR 03.05.2012 13:04
AZOR
furt je to ale jen o konečném výčtu, který se dá cyklem zpracovat. nový
touchwood 03.05.2012 14:55
touchwood
:-p kazda kombinace pismenek omezena velikosti media je konečná, tedy výčet a nevidim duvod proc vy… nový
AZOR 03.05.2012 15:07
AZOR
Vymenit sefa a potom dat na vstup oddelene prikazy. nový
MM.. 03.05.2012 13:21
MM..
to je ale klasická Utopie ;-) nový
touchwood 03.05.2012 14:57
touchwood
8-) ale precizni a spravne reseni nový
AZOR 03.05.2012 15:08
AZOR
to jistě, ale znáš to, teorie šedivá, zelený strom života.. ;-) aneb věděl to už von Goethe poslední
touchwood 03.05.2012 15:49
touchwood

jsem teda jen blbej ajťák, ale za "správným" oddělovacím středníkem musí IMHO následovat nějaké "úvodní" klíčové slovo z dalšího SQL dotazu, a těch IMHO zase tolik není (SELECT, INSERT, CREATE, DROP, UPDATE, TRUNCATE,...).

Než se pinožit s parserem, tak bych šel cestou nejmenšího odporu.. ;-)

je tam jen takové menší riziko malformed SQL query..

[exploits_of_a_mom.png]

edit: což by ale při úvodní znalosti počtu itemů ve stringu před samotným itemizováním mělo jít minimálně ošetřit a případně nouzově zastavit.

:-D tolik jich zase neni ? ALTER, CREATE, DROP, INSERT, SELECT, UPDATE, INSERT ALL,ANYLYZE,COMPUTE, STATISTICS, SAVEPOINT, ROLLBACK,COMMIT, AUDIT, CALL, COMMENT, EXEC, ASSOCIATE,GRANT,LOCK, REVOKE,NOAUDIT,PURGE,RENAME, MERGE,EXPLAIN, FLASHBACK,SET...a BEGIN, a DECLARE..

Nehledě na to, ze to porad neni split se 100% uspesnosti (nebo nektere stringy to taky nezparsuje), to bych dal radeji prednost tomu regulernimu vyrazu s tim sudym poctem uvozovek.

Ackoliv rozumne by bylo nemrdat prikazy do jednoho (nebo s nejakym unikatnim oddelovatkem) a dat kurna do tabulky, kde bude prikaz na radku, jak to ma byt.

:-p kazda kombinace pismenek omezena velikosti media je konečná, tedy výčet

a nevidim duvod proc vycet, ktery porad nepodchyti vsechny pripady, to radeji split podle toho jednodussiho regulerniho vyrazu s pocetem sudych uvozovek. A kvuli bilem znakum to musi byt regulerni vyraz chca ci necha

Zpět do poradny Odpovědět na původní otázku Nahoru