Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] mysql_error()
ithat
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.01.2013

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


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

Ten post edytował ithat 11.06.2013, 11:50:18
Go to the top of the page
+Quote Post
mlawnik
post
Post #2





Grupa: Zarejestrowani
Postów: 455
Pomógł: 49
Dołączył: 12.04.2010

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


die, jak sama nazwa wskazuje, kończy wykonywanie skryptu, więc twój błąd jest pierwszym i ostatnim, gdyż innych nie ma. Dlaczego?
Go to the top of the page
+Quote Post
ithat
post
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.01.2013

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


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?
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




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.
Go to the top of the page
+Quote Post
ithat
post
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 9.01.2013

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


ok, w takim razie moze ktos wie w jaki sposob spowodowac wypisanie tego bledu ?
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




(IMG:style_emoticons/default/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....
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: 2.10.2025 - 13:23