Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pętla for i MYSQL
Forum PHP.pl > Forum > PHP
Reptile ReX
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 ?
ShadowD
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?
Reptile ReX
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 smile.gif
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.