Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] mysql_error()
Forum PHP.pl > Forum > Przedszkole
ithat
Witam
mam pewien problem, mysql_error() w petli foreach wypisuje tylko ostatni przypadek wystąpienia błędu, mimo iż powinno wypisać ich znacznie więcej, pliki w folderze wystepuja w roznych formatach lecz o takich samych nazwach oto kod :
  1. $pliki = glob('proba/*.{xls,xlsx,pdf}', GLOB_BRACE);
  2. if ($pliki !== false) {
  3. foreach($pliki as $plik)
  4. {
  5.  
  6. $podzielone = preg_split("/[\/s, ,-]+/",$plik);
  7. echo "</br>$podzielone[2] $podzielone[4]</br>";
  8. $import="INSERT into baza(nr_1,nr_2) values('$podzielone[2]','$podzielone[4]')";
  9. mysql_query($import) or die(mysql_error());
  10.  
  11.  
  12.  
  13. }
  14. }

w kodzie pobieram czesci nazwy pliku, i wrzucam je do tabeli. Calosc dziala dobrze, tylko nie wiem czemu wypisuje tylko ostani przypadek bledu.
zapomnialem dodac ze kolumna nr_1 jest unikalna, dlatego powinny wystepowac bledy
Pozdrawiam
mlawnik
die, jak sama nazwa wskazuje, kończy wykonywanie skryptu, więc twój błąd jest pierwszym i ostatnim, gdyż innych nie ma. Dlaczego?
ithat
Nie zgodze sie z toba, poniewaz caly skrypt znajduje sie w petli, i po wystapieniu bledu zostaje pobierana kolejna nazwa pliku, w ktorej tez moze wystapic blad. Wrzucajac np 10 plikow do katalogu wskazanego, mamy kazdy plik w formacie pdf i xls, czyli powinno wystapic 5 konfliktow przy poleceniu INSERT poniewarz pliki xls maja swoich odpowiednikow w formacie pdf, i tak sie dzieje poniewaz w tabeli po wykonaniu skryptu znajduje sie 5 rekordow. Ale w samym formularzu php wyswietla sie tylko jeden blad Duplicate entry 'Ostani plik' for key 'PRIMARY' a powinno wyswietlic ich 5, moje pytanie dlaczego sie tak dzieje?
nospor
ithat czytaj co się do ciebie mówi:

DIE - powoduje wyświetlenie komunikatu i natychmiastowe przerwanie skryptu. DIE ma głęboko gdzieś, że dałeś to w petli. On konczy skrypt natychmiast.
ithat
ok, w takim razie moze ktos wie w jaki sposob spowodowac wypisanie tego bledu ?
nospor
facepalmxd.gif
zamiast DIE, które konczy od razu skrypt, rób poprostu ECHO..... wkoncu chcesz blad wyświetlic wiec echo jest dosc logicznym rozwiązaniem....
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.