Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pętla for i MYSQL
Reptile ReX
post
Post #1





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


Mianowicie, mój skrypt przeszukuję pewną stronę www i wyciąga z niej dane za pomocą cURL + pętli for + wyrażeń regularnych.

Wpierw inicjowana jest pętla która przechodzi na kolejne podstrony (1-100)

W tej pętli jest kolejna pętla for (0-50) która wyciąga potrzebne informacje z 50 produktów.
Sprawdza czy nie istnieją w bazie, jeżeli nie wtedy zapisywany jest obrazek każdego produktu oraz dane są dodawane do bazy danych i tak w kółko.
Jeżeli produkt istnieje w bazie, dostajemy stosowny komunikat.


Lecz zauważyłem coś, przy np 3 stronach, gdzie powinno być w bazie 150 rekordów (Skrypt uruchomił się bez błędów), jest tylko np 143, natomiast zapisanych obrazków, jest prawidłowa liczba 150.

Próbowałem nawet funkcji sleep przed dodawaniem do bazy, albo po dodawaniu do bazy, niestety problem występuje nadal.

Czym to może być spowodowane, że niektóre rekordy są pomijane.
Czy możliwe są takie wadliwości pętli ?

Ten post edytował Reptile ReX 28.12.2010, 11:08:50
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
ShadowD
post
Post #2





Grupa: Zarejestrowani
Postów: 1 333
Pomógł: 137
Dołączył: 25.03.2008
Skąd: jesteś??

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


Nie, nie ma opcji by "for" gubił część obliczeń, musisz mieć jakiś błąd w logice, może jakieś części strony są nie poprawne? np. mają niedomknięty jakiś znacznik dzięki czemu wyrażenie się nie podpasuje, a dla obrazków masz kolejne, czy tym samym wyciągasz dane, bo jeśli kolejne to może jest ono mniej wybredne i błędy w kodzie mu nie przeszkadzają, aż tak bardzo?
Go to the top of the page
+Quote Post
Reptile ReX
post
Post #3





Grupa: Zarejestrowani
Postów: 119
Pomógł: 0
Dołączył: 19.01.2008

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


Obrazki są wyciągane w tej samej pętli co reszta, pokminię jeszcze z wyrażeniami regularnymi i sprawdzę te znaczniki, dzięki za upewnienie że pętla nie może niczego zgubić.

Hmm użyłem strip_tags lecz dalej niepełne rekordy.

Edit2. Użyłem mysql_real_escape_string oraz strip_tags, widocznie któryś wpis zawierał znak, który nie był dozwolony w SQL.

Dzięki SHADOW jeszcze raz (IMG:style_emoticons/default/smile.gif)

Ten post edytował Reptile ReX 28.12.2010, 11:59:28
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.08.2025 - 07:41