Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] sprawdzanie rekordu w bazie
felixk
post 1.10.2012, 12:00:38
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Witam, powoli rozwijam swój edytor. W tej chwili chciał zrobić sprawdzanie rekordów czy nie są już dodane. Robię to tak:

  1.  
  2. if ($akcja == "dodaj_pliki")
  3. {
  4. $pliki = $_POST['pliki'];
  5. if(empty($pliki))
  6. {
  7. echo '<script language="javascript">alert("BَD! Nie wybrałeś żadnego pliku. \n Wybierz minimum jeden plik")
  8. document.location.href = "admin.php?pokaz=lista_plikow";</script>';
  9. }
  10. $q = mysql_query("SELECT plik FROM pliki WHERE plik='$pliki'") or die(mysql_error());
  11. if ($e[0])
  12. {
  13. echo '<script language="javascript">alert("BَD! Te pliki są już dodane. \n Wybierz inne pliki z tabeli poniżej")
  14. document.location.href = "admin.php?pokaz=lista_plikow";</script>';
  15. }
  16. }


W bazie wygląda to tak:

id plik nazwa
1 index.php index

i za ciężkiego groma powyższy kod nie chce wypluć błędu jak zaznaczę jeszcze raz do dodania plik index.php a zamiast błędu wypluwa
Kod
Unknown column 'plik' in 'field list'
. Z tym, że ta kolumna istnieje. Proszę o pomoc

Z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
nospor
post 1.10.2012, 13:27:17
Post #2





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




Skoro pisze, że dana kolumna nie istnieje, znaczy, że nie istnieje. Tyle w temacie.

Albo odwołujesz się do złej tabeli, albo do złej bazy, albo do złego serwera. Przyjrzyj się temu jeszcze raz na spokojnie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
felixk
post 1.10.2012, 17:51:24
Post #3





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Cytat(nospor @ 1.10.2012, 14:27:17 ) *
Skoro pisze, że dana kolumna nie istnieje, znaczy, że nie istnieje. Tyle w temacie.

Albo odwołujesz się do złej tabeli, albo do złej bazy, albo do złego serwera. Przyjrzyj się temu jeszcze raz na spokojnie


zmieniłem trochę jedną linijkę
  1. $q = mysql_query("SELECT * FROM pliki WHERE plik='$pliki'") or die(mysql_error());


i teraz mam pustą białą stronę a trochę nie o to chodzi smile.gif
Go to the top of the page
+Quote Post
viking
post 1.10.2012, 18:02:38
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


- użyj PDO bo mysql_* za jakiś czas zakończy żywot
- jak już to zrobisz zacznij obsługiwać wyjątki zmaiast bezsensownie or die(mysql_error())
- włącz raportowanie błędów error_reporting(-1);

Ten post edytował viking 1.10.2012, 18:03:07


--------------------
Go to the top of the page
+Quote Post
nospor
post 1.10.2012, 19:35:43
Post #5





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




No ale ty przecież nie rozwiązałeś problemu.... skoro nie ma pola plik, a ty mimo wszystko w php chcesz z niego coś brać, to niby czemu masz mieć niepustą stronę? Myślisz ze jak dasz gwiazdkę zamiast nazwy pola to nagle to pole w magiczny sposób w php się pojawi??


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
felixk
post 1.10.2012, 19:51:38
Post #6





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Cytat(nospor @ 1.10.2012, 20:35:43 ) *
No ale ty przecież nie rozwiązałeś problemu.... skoro nie ma pola plik, a ty mimo wszystko w php chcesz z niego coś brać, to niby czemu masz mieć niepustą stronę? Myślisz ze jak dasz gwiazdkę zamiast nazwy pola to nagle to pole w magiczny sposób w php się pojawi??


Nie, nie myślę tak. Po prostu to była próba. Poza tym parametry bazy mam poprawne, bo cały skrypt na tym śmiga a tylko w tym jednym miejscu nie działa i dlatego nie bardzo wiem jak to ugryźć.
Go to the top of the page
+Quote Post
nospor
post 1.10.2012, 19:53:54
Post #7





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




$e = mysql_fetch_array($q);
print_r($e);
i będziesz wiedział co ty tam tak naprawdę masz.... Przecież taka podstawowa analiza naprawdę jest banalna....


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
felixk
post 1.10.2012, 21:12:50
Post #8





Grupa: Zarejestrowani
Postów: 90
Pomógł: 1
Dołączył: 31.01.2009
Skąd: Ostrołęka

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


Cytat(nospor @ 1.10.2012, 20:53:54 ) *
$e = mysql_fetch_array($q);
print_r($e);
i będziesz wiedział co ty tam tak naprawdę masz.... Przecież taka podstawowa analiza naprawdę jest banalna....


Nospor, znowu miałeś rację. Ja tu mam całe nic smile.gif. Komunikat z Twojego kodu

Kod
Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\xampp\htdocs\sprawdz.php on line 249


linijka 249:


Poza tym nie wiem czy to ważne, ale do tego skryptu przekazuje wartości z checkboxów, czyli nazwyklejszą tablicę. Zrobiłem var_dump na zmiennej $pliki i ma ona wartość taką jaką chcę. Chyba należałoby zrobić pętlę i dopiero wtedy sprawdzanie. Dobrze myślę?

Dobra, dziękuję wszystkim wpadłem na to i w końcu działa. Dziękuję za poświęcony czas

  1. $pliki = $_POST['pliki'];
  2.  
  3. if(empty($pliki))
  4. {
  5. echo '<script language="javascript">alert("BَD! Nie wybrałeś żadnego pliku. \n Wybierz minimum jeden plik")
  6. document.location.href = "admin.php?pokaz=lista_plikow";</script>';
  7. }
  8. for ($i=0, $s = count($pliki); $i < $s; $i++)
  9. {
  10. $spr = mysql_query("SELECT plik FROM $tbl_pliki WHERE plik='$pliki[$i]'") or die(mysql_error());
  11. }
  12. if(mysql_num_rows($spr) >0)
  13. {
  14. echo '<script language="javascript">alert("BَD! Te pliki są już dodane. \n Wybierz inne pliki z tabeli poniżej")
  15. document.location.href = "admin.php?pokaz=lista_plikow";</script>';
  16. }
  17.  
  18. else
  19. {
  20. dodaje rekord :)
  21. }


do zamknięcia

Ten post edytował felixk 1.10.2012, 21:33:47
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 07:11