Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] dodanie zapytania
Forum PHP.pl > Forum > Przedszkole
arek88
Witam jestem poczatkujacy sad.gif
i mam problem mam plik tekstowy txt z emailiami jeden pod drugim czyli tak

Kod
jas@oi.pl
zosia@oi.pl
tome@oi.pl
zyga@oi.pl


troche ich jest

i teraz mam problem jak dodac je do bazy danych do tabeli jak to zrobic prosze o przyklad nie chce tych maili po koleji wgrywac tylko np odrazu wszystko albo polowe prosze o pomoc
strife
Wczytujesz plik przez file" title="Zobacz w manualu PHP" target="_manual, potem pętla foreach" title="Zobacz w manualu PHP" target="_manual, w której wykonujesz zapytanie do bazy mysql_query" title="Zobacz w manualu PHP" target="_manual, przykładowo:

  1. <?php
  2. // ...
  3. $file = file('plik_z_mailami.txt');
  4. foreach( $file as $value )
  5. {
  6. mysql_query("INSERT INTO tabela SET email = '" . $value . "' ;");
  7. }
  8. ?>


Dobranoc.
arek88
Dzieki, Ale ma jeszcze problem pokazuje mi sie blad :/

Kod
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /home.14/s/a/b/sabmii/www/email.php on line 9

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home.14/s/a/b/sabmii/www/email.php on line 9



  1. <?php
  2. $dbhost = "====";
  3. $dbname = "====";
  4. $dbuser = "====";
  5. $dbpass = "====";
  6. $file = file('email.txt');
  7. foreach( $file as $value )
  8. {
  9. mysql_query("INSERT INTO tabela SET email = '" . $value . "' ;");
  10. }
  11. ?>


----------------------
Poprawilem BB Code : )
---
~strife
strife
No, ale w Twoim kodzie nie widzę, miejsca w którym łączysz się z bazą i wybierasz ją. Przejrzyj jeszcze raz rozdział o mysql w manual'u. Jeśli nie masz połączenia, a nadal nie działa to zrestartuj mysql i spróbuj ponownie.
arek88
a mozecie mi napisac gotowy skrypt z polaczeniem do bazy danych ze tylko wpisuje haslo i nazwe bazy i wlaczam skrypt i juz sie dodaje ?
kwiateusz
jak nawet takich podstaw nie znasz to po co Ci taki pliczek jak nie będziesz umiał z niego skorzystać?
arek88
mam skrypt napisany i wyjasniony co i jak a teraz chce abyscie mi pomogli te maile doda sad.gif
strife
Cytat(arek88 @ 23.03.2007, 21:10:06 ) *
mam skrypt napisany i wyjasniony co i jak a teraz chce abyscie mi pomogli te maile doda sad.gif


Przecież Ci @Ociu napisał ładnie co masz dodać ... Włóż w to trochę wysiłku, a nie od razu gotowca oczekujesz. Pokaż nam chociaż, że się starasz to zrobić, napisz coś powiedz z czym masz problem to pomyślimy dalej smile.gif
arek88
czy teraz jest lepiej

  1. <?php
  2.  $link = mysql_connect('===', '===', '===')
  3.  or die('Nie można się połączyć: ' . mysql_error());
  4.  print ('Połączenie nawiązane');
  5.  mysql_close($link);
  6. $file = file('email.txt');
  7. foreach( $file as $value )
  8. {
  9. mysql_query("INSERT INTO tabela SET email = '" . $value . "' ;");
  10. }
  11. ?>
aurox
  1. 1
  2.  
  3. <?php
  4. $link = mysql_connect('===', '===', '===') or die('Nie można się połączyć: ' . mysql_error());
  5.  
  6. /*--- Teraz wybierz bazę danych ---*/
  7. mysql_select_db("twoja baza danych");
  8.  
  9. print ('Połączenie nawiązane');
  10.  
  11. $file = file('email.txt');
  12. foreach( $file as $value )
  13. {
  14. mysql_query("INSERT INTO tabela SET email = '" . $value . "' ;");
  15. }
  16.  
  17. mysql_close($link);
  18.  
  19. ?>
arek88
ok pisze Połączenie nawiązane ale rekorda w bazie nie ma zadnego sad.gif jezu jaki ja zielony
mike
Cytat(arek88 @ 23.03.2007, 22:23:12 ) *
jezu jaki ja zielony
Nie zielony tylko leniwy tongue.gif

Po to wątek Najczęstsze błędy, Zanim zapytasz, to sprawdź. jest przypięty, żebyś go przeczytał i zastosował zawarte w nim porady.
Najpierw zajmij się debuggowaniem (pkt. 2. Problemy z zapytaniem SQL) tego kodu i przekaż nam wnioski, potem pomyślimy dalej.
arek88
dobra nic z tego sad.gif cholera czy ja sie tego naucze prosze o gotowa sad.gif
Cienki1980
Cytat(arek88 @ 23.03.2007, 22:43:32 ) *
dobra nic z tego sad.gif cholera czy ja sie tego naucze prosze o gotowa sad.gif


Właśnie zarobiłeś pierwszego minusa z racji lenistwa ... no i niechęci do manuala.
Zadaniem domowym dla Ciebie jest sprawdzenie jak działa funkcja mysql_error() i wzorując się na przykładach podanych w manualu sprawdzić jakie błędy generuje Twój kod.

Pokaż błędy pomyślimy dalej.
arek88
ok jak sie chce to ma
:)blad
Kod
0: Połaczenie nawiazane1146: Table 'email.tabela' doesn't exist

ok czyli musze stworzyc tabele czy dobrze ?

  1. CREAT TABLE `email`
  2.  
  3. i jak dalej :(




ok juz wiem co i jak zrobilem tabele
Kod
CREATE TABLE `mailing` (
  `email` text NOT NULL
)


poczym napisalem odpowiednie dane w kodzie ok dodalo emaile ale jeden problem jest gdy biore kopie bazy danych to w zapytaniu maile wygladaja tak

Kod
INSERT INTO `mailing` (`email`) VALUES ('zosia@oi.pl\r\n'),
('jas@oi.pl\r\n'),
('topek7@oi.pl\r\n'),


i teraz jest problem z tym
Kod
\r\n'
czy to tak musi byc ? raczej nie i jak to naprawic smile.gif dzieki
Cienki1980
No zaczynasz bardzo ładnie kombinować. Teraz zapoznaj się z funkcją trim(). Przykład zastosowania znajdziesz w manualu.

Walcz dalej a na pewno Ci się uda.
Ociu
Widzisz, jak ruszy się czachownicą, to można zrobić.
  1. INSERT INTO `mailing` (`email`) VALUES ('zosia@oi.pl\r\n'),
  2. ('jas@oi.pl\r\n'),
  3. ('topek7@oi.pl\r\n'),

Jak kolega wyżej napisał,, użyj funkcji trim" title="Zobacz w manualu PHP" target="_manual.

Jeszcze coś, INSERT INTO `mailing` (`email`) VALUES ('zosia@oi.pl\r\n'). Dane możesz dodawać tylko pojedynczo, dlatego w pierwszym kodzie na początku wątku masz pętlę.
Także będzie to wyglądać mniej więcej tak:
  1. INSERT INTO `mailing` (`email`) VALUES ('zosia@oi.pl\r\n')
  2. INSERT INTO `mailing` (`email`) VALUES ('jas@oi.pl\r\n')
  3. INSERT INTO `mailing` (`email`) VALUES ('topek7@oi.pl\r\n')
.

pozdrawiam.
arek88
z tego co sie dowiedzialem to te znaki
to
Kod
\n    nowa linia (LF lub 0x0A (10) w ASCII)
\r    powrót karetki (CR lub 0x0D (13) w ASCII)

ale ndalaj nie wiem jak ich uzyc ?

  1. <?php
  2. $link = mysql_connect('===', '===', '===') or die('Nie można się połączyć: ' . mysql_error());
  3.  
  4. /*--- Teraz wybierz bazę danych ---*/
  5. mysql_select_db("twoja baza danych");
  6.  
  7. print ('Połączenie nawiązane');
  8.  
  9. $file = file('email.txt');
  10. $trimmed = trim($text, "0x00");
  11. var_dump($trimmed);
  12. foreach( $file as $value )
  13. {
  14. mysql_query("INSERT INTO tabela SET email = '" . $value . "' ;");
  15. }
  16.  
  17. mysql_close($link);
  18.  
  19. ?>
Ociu
  1. <?php
  2. foreach( $file as $value )
  3. {
  4. mysql_query("INSERT INTO tabela SET email = '" . trim($value) . "' ;");
  5. }
  6. ?>
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.