Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Izvrsavanje SQl upita iz fajla

[es] :: PHP :: Izvrsavanje SQl upita iz fajla

[ Pregleda: 5633 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Izvrsavanje SQl upita iz fajla30.08.2002. u 15:42 - pre 263 meseci
Imam jedan problem sa PHP-om. Pravim install skriptu za jedan freelance script i imam problem kako da izvrsim sql naredbe koje su u fajlu. Naime fajl je cist dump mySQl tabela i vrednosti koje treba ubaciti u njih. Kada nekim klijentom ucitam fajl sve naredbe se normalno izvrse, medjutim kada PHP-om preko mysql_query() izvrsim jedan red javlja se problem kod komentara (#nesto) i kod
CREATE TABlE(
...
)
preptostavljam zato sto mysql_query() trazi ceo upit. E sada pomocu regexp-a (sa kojim ne stojim bas najbolje) sam izbacio sve komentare, i jurio da u jedan upit strpam celu CREATE TABlE naredbu tj da ukljucim red u kojem se pojavljuje samo ( i da prekinem kod reda gde se pojavljuje samo ). Medjutim problem je kada se u naredbi pojavi ) a da to nije kraj naredbe (u INSERT upitima).

Da li znate neko drugo resenje kako da ovaj fajl izvrsim, kako bih napravio instalaciju gde sam fajl moze lako da se zameni, a ne kao kod XMB foruma da moram da menajm install.php fajl kada mi se promeni struktura tabela.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.beg.sezampro.yu



Profil

icon Re: Izvrsavanje SQl upita iz fajla30.08.2002. u 19:39 - pre 263 meseci
pa shto ne prekidash naredbu kada naidjesh na ;
to je u stvari pravi kraj naredbe, a ne zatvorena zagrada [a.k.a. )]
Onda ne bi imao problem sa zatvorenom zagradom
 
Odgovor na temu

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.rcub.bg.ac.yu

Sajt: localhost


+5 Profil

icon Re: Izvrsavanje SQl upita iz fajla30.08.2002. u 23:52 - pre 263 meseci
cini mi se da phpMyAdmin (najpopularniji program za admin mysql baze iz php-a) ima opciju za dump/import cele baze u/iz obicnog textualnog fajla, pa pretpostavljam da on radi nesto slicno onome sto tebi treba.

znaci, skini phpMyAdmin (ako ne znash url, pitaj cika google-a) i pogledaj kako su to oni uradili, cisto da ne lupash glavu za dzabe...
 
Odgovor na temu

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 520
*.75.EUnet.yu

Sajt: www.bokica.com


Profil

icon Re: Izvrsavanje SQl upita iz fajla31.08.2002. u 03:09 - pre 263 meseci

1. Iz kog programa radis 'dump'? phpMyAdmin?

2. U kom obliku ti je insert, complete ili extended?
- comlplete izgleda ovako:
Code:

INSERT INTO trt(field1, field2) VALUES ('blabla', '2221');

i sadrzi samo JEDAN podatak iliti single insert

- extended sadrzi vise podataka:
Code:

INSERT INTO trt(field1, field2) VALUES ('blabla', '2221'),
('blabla', '2222'),
('blabla', '2223'),
...
('blabla', '2234'),
('blabla', '2235');

3. Koliki ti je .sql fajl? bytes, KB, MB?? Da li moze sve da se izvrsi odjednom ili se secka i izvrsava?


Ako imas complete insert onda ti red pocinje sa INSERT, a zavrsava sa brake-om (\r\n) ili ;
ako imas extended, pocinje sa INSERT, a zavrsava se krajem fajla (EOF).

Ne deluje valjda komplikovano?!


btw.
kakav ti je redosled operacija (algoritam), kod mene bi to bilo otprilike ovako:
1. proveravam postoji li tablela,
ako ne postoji:
- citam i izvrsavam 'CREATE TABLE...' iz .sql fajla (samo to u fajlu)
ako postoji:
- recimo 'DELETE FROM...'

2. citam fajl sa insertima i izvrsavam
- citam red i izvrsavam ga (koristim gore navedeni complete insert)
- until EOF

3. moze jos na bar 16xxx nacina, na tebi je d odaberes pravi


...ako ti ovo nije pomoglo 'podigni' .sql fajl ovde.

 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Izvrsavanje SQl upita iz fajla31.08.2002. u 12:42 - pre 263 meseci
ma probao sam i da idem od ; bez tog reda do ; u query, ali opet prijavi Query faild tj izvrsi operaciju mysql_query($query) or die("Query faild");. Inace ako pre toga stavim echo ($query); pa to prekopiram rucno umesto $query u mysql_query(""); on se izvrsi tako da je sam upit ok. probacu danas da vidim sta phpmyadmin radi...
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.beg.sezampro.yu



Profil

icon Re: Izvrsavanje SQl upita iz fajla31.08.2002. u 18:59 - pre 263 meseci
pa stavi lepo
... or die(mysql_error());
umesto tog
... or die("Query faild");

da znash konkretno koja je greshka, a ne samo da ti ispisuje da query nije uspeo
 
Odgovor na temu

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Izvrsavanje SQl upita iz fajla31.08.2002. u 20:28 - pre 263 meseci
prikazuje gresku oko nekih navodnika... postovacu problematicnu tabelu, phpmyadmin prihvati fajl....
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

RAZZLEDAZZLER
Tora Bora

Član broj: 27
Poruke: 543
*.beg.sezampro.yu



Profil

icon Re: Izvrsavanje SQl upita iz fajla31.08.2002. u 21:29 - pre 263 meseci
ako phpmyadmin prihvata fajl, znachi da su oni dodali neshto shto ti nemash

poshto kazesh da javlja neshto oko navodnika, probaj sa stripslashes(), addslashes(), htmlspecialchars(), htmlentities() i slichnim funkcijama za sredjivanja tih upisa
... znachi upotrebi ih na tom query-ju pre nego shto dodje do mysql_query()
 
Odgovor na temu

[es] :: PHP :: Izvrsavanje SQl upita iz fajla

[ Pregleda: 5633 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.