Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak uruchomić skrypt .sql przez php
Forum PHP.pl > Forum > Bazy danych > Oracle
citek10
Mam skrypt instaluj.sql w którym mam kod sql-owy do tworzenia tabel, indexów itp. W jaki sposób mogę go uruchomić z php?
pyro
// lepszy kod nizej
mike
~pyro bardzo ładny sposób na okazanie instalacja = lipa
mysql_query() pozwala na wykonanie tylko jednego zapytania;
nospor
@pyro ja mam inna wersje twego kodu:
  1. <?php
  2. $a = file_get_contents('instaluj.sql');
  3. $con = mysql_connect('localhost', 'user', 'pass');
  4. if(mysql_query($a))
  5. {
  6. echo 'To echo nigdy sie nie wykona';
  7. }
  8. else
  9. {
  10. echo 'instalacja = lipa - TO ZAUWAZYSZ ZA KAZDYM RAZEM';
  11. }
  12. ?>

winksmiley.jpg

mysql_query() pozwala na wykonanie jednego zapytania naraz. a plik instaluj.sql zawiera kilka zapytan.

@citek10 musisz w jakis sposob podzielic zawartosc tego pliku na pojedyncze zapytania i kazde pokoli wykonac przy pomocy mysql_query().
Jesli by te zapytania byly oddzielone jakims stalym separatorem to moglbys uzyc explode(). Zazwyczaj jest to srednik, ale nalezy uwazac czy przypadkiem w tresci zapytania nie ma srednika

edit: ale tu mowa przeciez o oraclu a nie mysql, wiec mysql_query napewno nie zadziala winksmiley.jpg

@citek mozesz sprobowac wiec wykonac caly plik jednym zapytaniem gdyz oracle chyba pozwala na kilka zapytan na raz. sprawdz
pyro
tak, rzeczywiście, mike i nospor macie racje, zapomniałem ze mysql-query obsluguje tylko jedno zapytanie, ale daje za to troche inny kod ;/

  1. <?php
  2.  
  3. $a = file_get_contents('instaluj.sql');
  4. $con = mysql_connect('localhost', 'user', 'pass');
  5. $b = explode(';', $a);
  6. foreach($b as $jeden)
  7. {
  8. $zapytania[] = $jeden.';';
  9. }
  10. foreach($zapytania as $zapytanie)
  11. {
  12. if(!mysql_query($zapytanie, $con)
  13. {
  14. die('Błąd podczas wykonywania');
  15. }
  16. }
  17.  
  18. ?>
nospor
@pyro ale czytamy dokladnie. Mowa tu o oracle a nie mysql winksmiley.jpg

ps: co nie zmienia faktu ze idea podobna, choc jak pisalem wczesniej dla oracla mozna chyba walic po kilka zapytan
pyro
nospor to co napisales bylo po edicie, podczas gdy ja pisalem nowy kod

A skoro Oracle pozwala na wykonywanie kilku zapytań naraz to nie krzyczcie na mnie!
nospor
nikt na ciebie nie krzyczy. zwracamy ci jedynie uwage ze podany pierwszy kod z mysql_query jest niepoprawny, z czym sam sie zgodziles :
tak, rzeczywiście, mike i nospor macie racje, zapomniałem ze mysql-query obsluguje tylko jedno zapytanie
smile.gif

Cytat
nospor to co napisales bylo po edicie, podczas gdy ja pisalem nowy kod
Ale temat w dziale ORACLE lezy od samego poczatku winksmiley.jpg
No ale skoro juz wszystko jasne to pozostaje czekac az autor tematu zaimplementuje Twoje sposoby na oracla i bedzie po sprawie
pyro
Heh, no jak by na to nie patrzeć, rzeczywiście tak jest

Forum PHP.pl > Forum > Bazy danych > Oracle

ale moze komuś innemu sie przyda moj dodatek do skryptu instalacyjnego...

Pozdro.

// EDIT

Poza tym AUTOR TEMATU TEZ JUZ DOStal gotowca, tylko go musi podczepić pod Oracle
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.