[php] hurtowe wsadzanie danych do mysql'a

0

Napisałem skrypcik w php, który teoretycznie powinien dodawać newsy do bazy. Dodaje je, ale w jakiś dziwny i niezrozumiały dla mnie sposób. Oto kod php:
[code]<?php $db = mysql_pconnect('localhost', 'root', 'supertajnehaslo'); if ($db) { echo 'Wszystko gra :)'; } else { echo 'Error: polaczenie z baza nie powiodlo sie.'; } mysql_select_db('dm'); $num = 0; while ($num <=10){ $query = "LOAD DATA INFILE 'E:/Nauka/dm/anthropology/".$num.".txt' INTO TABLE post;"; $num++; } $wynik = mysql_query($query); if(!$wynik) { echo '
Wystapil blad w kwerendzie.'; } ?>[/code]
Chciałbym dodać pliku 0.txt, 1.txt .... do 10.txt za pomocą ww programiku.
Kiedy wpisuję z palca:
[code]LOAD DATA INFILE 'E:/Nauka/dm/anthropology/0.txt' INTO TABLE post;[/code]
nie ma problemu:
[code]mysql> LOAD DATA INFILE 'E:/Nauka/dm/anthropology/0.txt' INTO TABLE post;
Query OK, 1 row affected, 2 warnings (0.00 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 2[/code]
Sprawdzam sobie autora:
[code]mysql> select autor from post;
+-----------------------------------------+
| autor |
+-----------------------------------------+
| Kjetil R? Hauge ([email protected]) |
+-----------------------------------------+
1 row in set (0.00 sec)[/code]
No i ładnie, dodaję jeszcze klika plików z palca i ponownie sprawdzam autorów:
[code]mysql> select autor from post;
+-----------------------------------------------------+
| autor |
+-----------------------------------------------------+
| Kjetil R? Hauge ([email protected]) |
| Alaca ([email protected]) |
| The ATM ([email protected]) |
| Jim ([email protected]) |
+-----------------------------------------------------+
4 rows in set (0.00 sec)[/code]
I ok, usuwam zawartość tabeli:
[code]mysql> delete from post;
Query OK, 4 rows affected (0.25 sec)[/code]
I zarzucam wspomniany na początku skrypt php. Teoretycznie powinien dodać 10 plików, a więc stworzyć 10 nowych wierszy a tutaj mam:
[code]mysql> select autor from post;
+--------------------------+
| autor |
+--------------------------+
| Daeron ([email protected]) |
+--------------------------+
1 row in set (0.00 sec)
[/code]
I nie za bardzo wiem o co chodzi :?, gdyż powyższy autor odnosi się do ostatniego pliku 10.txt. Czyli tak jakby php dodał tylko plik 10.txt. A co z pozostałymi :?: Pozdrawiam

0

Twoj blad polega na tym, ze uzyles mysql_query($query) poza petla while.
Petla przygotowuje ci kwerende i przypisuje ja zmiennej $query. W momencie, gdy $num = 10 czyli odczyta ostatni plik to $query wyglada tak:

LOAD DATA INFILE 'C:/usr/krasnal/www/Robert/10.txt' INTO TABLE post;

i to jest przekazywane w celu wykoniania przez mysql_query.
<ort>po prostu </ort>musisz uzyc mysql_query za kazdym razem gdy zostanie przypisana wartosc zmiennej $query.

1 użytkowników online, w tym zalogowanych: 0, gości: 1