![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
Mam zewnetrzny plik ze skryptem:
Kod CREATE TABLE `manager_wwwcategories` ( `wwwcat_id` int(11) NOT NULL auto_increment, `idlog` int(11) NOT NULL default '0', `wwwcat_name` varchar(40) default NULL, PRIMARY KEY (`wwwcat_id`) ) TYPE=MyISAM; CREATE TABLE `manager_www` ( `www_id` int(11) NOT NULL auto_increment, `filecat_id` int(11) default NULL, `www_address` varchar(100) default NULL, `www_description` text, `www_save` date default NULL, PRIMARY KEY (`www_id`) ) TYPE=MyISAM; i chcialbym moc ten skrypt uruchomic z poziomu php w instalatorze bazy. probowalem takich sposob: Kod mysql_query(include("skrypt.sql")); oraz wczytujac zawartość pliku (fopen) do zmiennej i wstawiając tą zmienną do mysql_query($sql);. Ta metody też niestety nie zadziałała. W zmiennej probowalem wyciąć wszystki znaki nowej linii i zastąpić je spacjami Kod $sql = str_replace("\n", " ", $sql); ale i to nie pomogło.w jaki sposób uruchomić ten skrypt (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ps. w gre nie wchodzi opcja uruchamiania z konsoli bo to ma byc instalator oparty o strone WWW... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 743 Pomógł: 0 Dołączył: 11.11.2003 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował Kuziu 21.02.2005, 14:08:21 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 5 Dołączył: 14.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Moze sprobuj tak:
1. Wpisz całą zawartość pliku do zmiennej (fread). 2. Potem podziel plik przy pomocy explode(), użyj jako separatora średnika (to średnik dzieli jedno polecenie sql od drugiego i tak dalej). Otrzymasz tablice z poszczególnymi poleceniami sql. 3.ewentualnie użyj trim() do usuniecia znaków białych. 4. i użyj mysql_query() w petli. |
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 1 224 Pomógł: 40 Dołączył: 6.07.2004 Skąd: Wuppertal Ostrzeżenie: (0%) ![]() ![]() |
mdco dobrze pisze, mysql jest teraz zabezpieczony, ze w 1 mysql_query nie wykonasz 2 zapytan oddzielonych srednikiem, przynajmniej tak mi sie wydaje
związane to było z problemem bezpieczenstwa przy zapytaniach typu
poniewaz w $_GET['costam'] mogles napisac np: '1;DROP TABLE...' (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%) ![]() ![]() |
Napisałem ci rozwiązanie na forum.webhelp.pl ! (IMG:http://forum.php.pl/style_emoticons/default/mad.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
dzięki NULL, o to właśnie chodziło.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 13:11 |