Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z zapisem danych do bazy z pliku txt
Forum PHP.pl > Forum > Przedszkole
yorgwarez
Cześć wszystkim,
Może i mam jakiś prosty problem, którego rozwiązanie pewnie zajmie Wam 1-2 minut, ale naprawdę nie potrafię znaleźć rozwiązania mojego problemu:( Otóż napisałem prosty skrypcik dodawania masowo danych z pliku do bazy mysql:

  1. <?
  2.  
  3. $host = 'localhost';
  4. $user = 'admin';
  5. $passwd = 'admin';
  6. $baza = 'cc2';
  7.  
  8. $plik = fopen("dane.txt", "r");
  9. $dane = fread($plik, filesize('dane.txt'));
  10. $division = '0001';
  11. $password = 'a2FpbmRvdw==';
  12. $disabled = '1';
  13. $dstats = '1';
  14.  
  15. if(mysql_connect($host,$user,$passwd)){
  16. while($kod = fgets($dane)){
  17. // $kod = trim($dane);
  18. $q = mysql_query("INSERT INTO cclpteams(name,division,password,disabled,dstats) VALUES('$dane', '$division', '$password', '$disabled', '$dstats')") or die(mysql_error());
  19. }}
  20. echo "$dane został dodany pomyślnie.";
  21. ?>


Niestety po wykonaniu skryptu wyświetla się następujący błąd:
Warning: fgets(): supplied argument is not a valid stream resource in C:\Program Files\WebServ\httpd-users\cc2\dodawanie_danych.php on line 17

Podejrzewam że rzecz może się rozbijać o dostępy do pliku bądź bazy, ale nie do końca jestem tego pewien. Wszystko uruchamiam na lokalnym serwerze wirtualnym (localhost - WebServ).

Z góry dzięki za tipsy czy porady z Waszej strony. Pozdro smile.gif
Kshyhoo
A nie tak:
  1. $plik= fopen("dane.txt", "r");
  2. // ...
  3. while (($dane = fgets($plik, 4096)) !== false) {

?
Skąd zmienna $kod?
yorgwarez
Hmmm, teraz błąd zniknął ale niestety nie dodają się rekordy do tabeli... Mimo ze po wykonaniu skryptu wyswietla sie komunikat ze zostaly one dodane do bazy

Plik txt zawiera nazwy klubow bez polskich znakow, przy dwuczlonowych nazwach jest uzyty dolny podkreslnik "_"
Kazdy klub w osobnej linii

Wczesniej dodawal rekordy do bazy ale jako resource_id3 wszystkie, wiec doczytalem ze nalezy uzyc opcji fread..
Daiquiri
Temat: Jak poprawnie zatytulowac watek, Zamykam.
yorgwarez
Jakieś pomysły gdzie moglem popelnic blad?;>
Kshyhoo
Pomysł jest taki. Wyświetl sobie za pomocą echo, co wchodzi i wychodzi z Twoich pętli... Użyj też funkcji do sprawdzania, np. print_r i włącz raportowanie błędów. Z błędami i problemami przychodź spowrotem.
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.