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 (k.r.hauge@east.uio.no) |
+-----------------------------------------+
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 (k.r.hauge@east.uio.no) |
| Alaca (P.Alaca@is.fake) |
| The ATM (gembles84@hotmail-dot-com.no-spam.invalid) |
| Jim (tomfiege9@yahoo.com) |
+-----------------------------------------------------+
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 (daeron@some.net) |
+--------------------------+
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
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.