Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] sprawdzanie rekordu w bazie
Forum PHP.pl > Forum > PHP
felixk
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ę
nospor
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
felixk
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
viking
- 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);
nospor
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??
felixk
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źć.
nospor
$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....
felixk
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
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.