Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] sprawdzanie rekordu w bazie
felixk
post
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
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
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
Go to the top of the page
+Quote Post
felixk
post
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 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 381
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
Post #5





Grupa: Moderatorzy
Postów: 36 559
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??
Go to the top of the page
+Quote Post
felixk
post
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
Post #7





Grupa: Moderatorzy
Postów: 36 559
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....
Go to the top of the page
+Quote Post
felixk
post
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 (IMG:style_emoticons/default/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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 19:35