Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Skrypt wrzucający do bazy...
Forum PHP.pl > Forum > Przedszkole
qoryto
Witam! Jestem początkujący w PHP i mam pewien problem, natomiast potrzebny jest prosty skrypt który z pliku slowa.txt wrzuci do bazy, a raczej do tabeli "History" słowa kluczowe które są w następujący sposób w tym pliku ( jedne pod drugim ):

Darmowy hosting
Darmowe filmy do pobrania
Wszystko za darmo
itd ( podałem przykład )

A w bazie powinno to wyglądać tak:
  1. CREATE TABLE IF NOT EXISTS `history` (
  2. `ID` int(11) NOT NULL AUTO_INCREMENT,
  3. `Query` varchar(40) NOT NULL,
  4. PRIMARY KEY (`ID`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=86102 ;
  6.  
  7. INSERT INTO `history` (`ID`, `Query`) VALUES
  8. (80060, 'Darmowy hosting'),
  9. (80059, 'Darmowe filmy do pobrania'),
  10. (80058, 'Wszystko za darmo'),


Prosiłbym o pomoc.
krzysiekk
witam
  1. <?
  2.  
  3. $a =file('t.txt');
  4.  
  5. #połączenie do bazy
  6. #insert np twój
  7. # INSERT INTO `history` (`ID`, `Query`) VALUES
  8.  
  9. foreach($a AS $b )
  10. {
  11. #zakladam ze ID auto increment dlatego null
  12. INSERT INTO `history` (`ID`, `Query`) VALUES(NULL, $b);
  13. }
  14. ?>
qoryto
coś jest nie tak, przy odpaleniu test.php
wyskakuje:

Parse error: syntax error, unexpected T_STRING in /home/mojadomena.pl/public_html/skrypt/test.php on line 25
krzysiekk
pokaz swoj kod
z polaczeniem do bazy danych to co ci podalem to jest sposob jak to zrobic nie gotowiec
qoryto
  1. <?
  2.  
  3.  
  4. $a =file('t.txt');
  5.  
  6. $host = "localhost";
  7.  
  8.  
  9. $username = "lalala";
  10.  
  11.  
  12. $dbpass = "mojehaslo";
  13.  
  14.  
  15. $dbname = "lalala";
  16.  
  17.  
  18. #insert np twój
  19. # INSERT INTO `history` (`ID`, `Query`) VALUES
  20.  
  21. foreach($a AS $b )
  22. {
  23. #zakladam ze ID auto increment dlatego null
  24. INSERT INTO `history` (`ID`, `Query`) VALUES(NULL, $b);
  25. }
  26. ?>
Wicepsik
Widać, że kolega nie przeczytał żadnego kursu mysql+php :/

Zapoznaj się z artykułem.


http://wortal.php.pl/wortal/artykuly/php/p...orial_php_mysql

Nie podawajcie gotowców winksmiley.jpg
krzysiekk
a polaczenie do bazy gdzie nasz to co podales to dostep smile.gif
qoryto
nie dam sobie z tym rady:(
Wicepsik
Cytat(qoryto @ 1.07.2009, 17:05:23 ) *
nie dam sobie z tym rady:(

A zajrzałeś chociaż do linka który Ci dałem? Tam wszystko masz pokazane jak łączyć się z bazą..
Jak nie dasz rady to po co się bierzesz za naukę php ?
krzysiekk
postaraj sie tak jak kolega napisał nie dam ci gotowca
tu jest polaczenie
polączenie mysql
qoryto
  1. <?php
  2. $db=mysql_connect("localhost", "ja_ja", "test");
  3. mysql_select_db("ja_ja", $db);
  4. $a =file('t.txt');
  5. foreach($a AS $b )
  6. {
  7. INSERT INTO `history` (`ID`, `Query`) VALUES (NULL, $b);
  8. } ?>


Dalej jest źle? bo to samo wyskakuje chodzi o linie INSERT INTO
Wicepsik
Cytat(qoryto @ 1.07.2009, 17:48:37 ) *
Dalej jest źle? bo to samo wyskakuje chodzi o linie INSERT INTO

Zajrzyj do linka który Ci podałem.
qoryto
patrzyłem i dalej ten błąd wywala.
Próbowałem na wszystkie sposoby jakie znalazłem.
A powyższy kod zrobiłem na podstawie skryptu który działa. Widocznie blad jest w tej linii.
Wicepsik
Jest taki link w tym kursie do dalszych informacji
Przeczytaj to
http://wortal.php.pl/phppl/wortal/artykuly...cja_bazy_danych
erix
  1. <?php
  2. {
  3. INSERT INTO `history` (`ID`, `Query`) VALUES (NULL, $b);
  4. }
  5. ?>

Bezpośrednio tak nie zadziała.

Proponuję lekturę kursu PHP+MySQL.
qoryto
witam ponownie,
udało nawiązać mi się z bazą danych, lecz występuje kolejny problem.
Natomiast w pliku slownik.txt
znajduje sie trzy linijki:

test11
test234
testtest

wrzuca te slowa kluczowe do bazy "history"

Pierwszy wyswietla się poprawnie na stronie jako test11.html natomiast kolejne dwa wyświetlają się następująco: test234%0D%0A.html i testtest%0D%0A.html

Zauważyłem że w bazie jest róznica pomiędzy test11 a test234 ( w test234 jest druga linia a nie powinno jej być)


kod skryptu:

  1. <?php
  2. $db=mysql_connect("localhost", "test", "111");
  3. mysql_select_db("test", $db);
  4. $a =file('slownik.txt');
  5. foreach($a AS $b)
  6. {
  7. $sql = "INSERT INTO `history` (`Query`) VALUES ('$b') ";
  8. }
  9. ?>


gdzie może być błąd?
erix
Daj trim" title="Zobacz w manualu PHP" target="_manual dla wstawianej zmiennej.

Poza tym, file" title="Zobacz w manualu PHP" target="_manual, to zuo w Twojej sytuacji, odrób PD i poczytaj o fgets" title="Zobacz w manualu PHP" target="_manual.
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.