Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP/MySQL] Zapis wyniku preg_match do bazy
NEONIX
post
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 3
Dołączył: 16.02.2008

Ostrzeżenie: (0%)
-----


hej smile.gif
Napisałem sobie w php skrypt który używa curla do poszukiwania tego co chcę na stronie, jednak niemogę tego zapisać zamiast zapisać mi znalezioną zawartość która jest to zapisuje mi "Array"
Kod wygląda tak:
  1. <?php
  2. // Tutaj polecenia cURL
  3.  preg_match_all ("wyrazenie algebraiczne", $pobrane_zrodlo, $wynik);
  4.  print_r ($wynik[1]); 
  5.  $dodaj="insert into linki(`id`,`link`) values('','$wynik[1]')";
  6.  mysql_query($dodaj) or die(mysql_error());
  7. ?>

Wyświetla normalnie wyniki tak jak powinno ale nie dodaje do bazy, co jest nie tak? Oczywiście chcę zapisać wszystkie znalezione wyniki do bazy

Ten post edytował NEONIX 21.03.2008, 02:10:03
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Zapisuje ci Array() bo przekazujesz do INSERTA tablicę. Nie ma w tym nic dziwnego. Jeśli preg_match_* zwraca ci konkretnie jedną wartość (np. pobierasz <title> strony) to użyj preg_match, natomiast jeśli zwraca ci więcej niż jedną wartość (np. przelatujesz jakąś tabelkę z danymi) to użyj preg_match_all ale zapisu do bazu dokonuj w pętli np.
  1. <?php
  2. preg_match_all ("wyrazenie algebraiczne", $pobrane_zrodlo, $wynik);
  3.  print_r ($wynik[1]); 
  4.  foreach ($wynik[1] as $w) {
  5.  $dodaj="insert into linki(`link`) values('$w')";
  6.  mysql_query($dodaj) or die(mysql_error());
  7.  }
  8. ?>

Coś takiego. Aha, jeśli pole id jest kluczem głównym z auto_increment to lepiej pominąć to pole w insercie - wywaliłem co trzeba.

PS: wyrażenie regularne. a nie algebraiczne winksmiley.jpg

Ten post edytował phpion 21.03.2008, 07:10:14
Go to the top of the page
+Quote Post
vtuner
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

Ostrzeżenie: (0%)
-----


tablicę zapisuj do bazy tak:

  1. <?php
  2. serialize($wynik[1]);
  3. ?>


a odczytując bierzesz:

  1. <?php
  2. unserialize($odpowiednia_zmienna);
  3. ?>
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 07:43