Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> problem z bazą danych i skryptem PHP, problem z bazą danych i tabelami.
Bustard
post 9.11.2011, 19:13:09
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


Witam, otóż dziś zgłaszam się do Was z problemem nt. bazy danych i skryptu, otóż mam skrypt PHP który łączy się z bazą danych, pobiera dane nt. klucza, daty ważności klucza i daty dzisiejsze, i jeśli wszystko jest okej przechodzi dalej, jeśli nie - wiadomo, błąd. No i mam błąd, tyle że troszeczke inny a dokładniej
Cytat
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ****** on line 25
klucz_niewazny lub nie znaleziono klucza

Tam na dole nie liczcie 25 linijki, bo kod jest okrojony, błąd wywala w tej linijce :
  1. $ilosc = mysql_num_rows($query);
i moim zdaniem błąd jest w bazie MySQL a dokładniej w tym że jak mam połączyć ze sobą tabele data_ważność z tabelą klucz? podeślę trochę okrojonego kodu PHP dla zrozumienia.
  1. <?php
  2. $pol = mysql_connect('localhost', 'user', 'password') or die('Problem z poł.');
  3. $pol = mysql_select_db('baza') or die('Problem z poł. z bazą');
  4.  
  5. if (!empty($_POST['klucz']))
  6. {
  7. $kluczyk = $_POST['klucz'];
  8. $zap1 = ('update klucze set data_dzis=curdate() where klucz=\''.$kluczyk.'\'');
  9. $zap2 = ('select data_waznosc, data_dzis from klucze where klucz=\''.$kluczyk.'\'');
  10. $query = mysql_query($zap1);
  11. $query = mysql_query($zap2);
  12.  
  13. $ilosc = mysql_num_rows($query);
  14.  
  15. if (!$ilosc == '0')
  16. {
  17. while ($txt = mysql_fetch_assoc($query))
  18. {
  19. $waznosc = ($txt['data_waznosc']);
  20. $dzis = ($txt['data_dzis']);
  21. if ($waznosc > $dzis)
  22. {
  23. echo '<klucz>klucz_wazny</klucz>';
  24. } else { echo '<klucz>klucz_niewazny</klucz>'; }
  25. }
  26. } else { echo '<klucz>klucz_niewazny</klucz> lub nie znaleziono klucza'; }
  27. } else { echo '<klucz>klucz_niewazny</klucz>'; }
  28. ?>

dziękuję za pomoc.


Ten post edytował Bustard 9.11.2011, 19:57:38
Go to the top of the page
+Quote Post
nospor
post 10.11.2011, 11:09:41
Post #2





Grupa: Moderatorzy
Postów: 36 449
Pomógł: 6292
Dołączył: 27.12.2004




Jak radzić sobie z tego typu błędami masz napisane tu:
Temat: Jak poprawnie zada pytanie

przenosze


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

"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
Bustard
post 11.11.2011, 13:22:00
Post #3





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


nie rozumiem co nie tak w tym temacie jest?

btw. więcej screenów : http://imageshack.us/g/31/bazaklucze.png/

Ten post edytował Bustard 11.11.2011, 13:30:46
Go to the top of the page
+Quote Post
CuteOne
post 11.11.2011, 13:31:20
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


1.
  1. $zap2 = "select data_waznosc, data_dzis from klucze where klucz='$kluczyk'";
  2. $query = mysql_query($zap2) or die(mysql_error());


2. a cóż to "if (!$ilosc == '0')" questionmark.gif
if($ilosc > 0)


@edit: to niech ci nie pomaga wink.gif

Ten post edytował CuteOne 11.11.2011, 13:33:15
Go to the top of the page
+Quote Post
Bustard
post 11.11.2011, 13:32:43
Post #5





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


nie mam pojęcia szczerze mówiąc, mój znajomy mi pomagał przy pisaniu tego skryptu.
edit : kiedy ja sam tyle aż nie potrafię.. myślałem że bedzie dobrze, a nie jest. i szukam pomocy u profesjonalistów.

Ten post edytował Bustard 11.11.2011, 13:34:37
Go to the top of the page
+Quote Post
ixpack
post 11.11.2011, 13:40:47
Post #6





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


supplied argument is not a valid MySQL result resource in ****** on line 25 - Czego więcej potrzeba? smile.gif
Sprawdż poprawność zapytań i czy w ogóle baza cokolwiek zwraca...

var_dump smile.gif

Edit: Zastosuj się do CuteOne'a

Co do tego !ilosc == '0' - ciekawe rozwiązanie wink.gif działa, choć wygląda dziwnie...

Ten post edytował ixpack 11.11.2011, 13:43:31


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Bustard
post 11.11.2011, 13:41:40
Post #7





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


A powiedz mi jak sprawdzić czy baza coś zwraca?

Co do CuteOne :
teraz wywala błąd : Unknown column 'data_waznosc' in 'field list'

Ten post edytował Bustard 11.11.2011, 13:44:59
Go to the top of the page
+Quote Post
ixpack
post 11.11.2011, 13:46:07
Post #8





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


"pomógł" należy się CuteOne - on szybciej odpowiedział =]

var_dump - użyj tego do wyświetlenia tego, co baza zwraca.

Ps. Jesteś nowy tu, wiedz, że za zwyczaj ludzie dadzą Tobie link do miejsca, gdzie coś może się przydać. Nie często ktoś zrobi coś za Ciebie. Inwestujemy w wędki wink.gif

Edit: wywala błąd, bo kolumny nie ma o podanej nazwie... Angielski się kłania

Ten post edytował ixpack 11.11.2011, 13:47:05


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Bustard
post 11.11.2011, 13:49:13
Post #9





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


spoko spoko, tyle że jest ta tabela :| i w tabeli jest taka kolumna.. :|

Ten post edytował Bustard 11.11.2011, 13:49:49
Go to the top of the page
+Quote Post
ixpack
post 11.11.2011, 13:50:53
Post #10





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


Pokaż strukturę tabeli klucze.


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Bustard
post 11.11.2011, 13:54:12
Post #11





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


Struktura kluczy : http://imageshack.us/photo/my-images/197/bazaklucze.png/
Struktura waznosc : http://imageshack.us/photo/my-images/64/bazawaznosc.png/
Go to the top of the page
+Quote Post
ixpack
post 11.11.2011, 14:00:07
Post #12





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


wink.gif

No więc tabela, a kolumna to 2 inne rzeczy. Ty masz 2 tabele z jedną kolumną. Próbujesz odwołać się do nieistniejącej kolumny w tabeli klucze. W klucze jedyną kolumną, która istnieje jest kolumna klucze. Nie ma tam w ogóle indeksów etc. Cała struktura jest zła.

Stwórz tabele od nowa i ustaw poprawne kolumny w tabeli tak, aby w tabeli klucze były kolumny klucz, data_waznosc, data_dzis
Jedna tabela, nie trzy.


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
Bustard
post 11.11.2011, 14:03:36
Post #13





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 19.03.2010

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


Działa.. Boże, dzięki !
Banalne problemy, są moimi największymi, heh biggrin.gif

Ten post edytował Bustard 11.11.2011, 14:03:54
Go to the top of the page
+Quote Post
ixpack
post 11.11.2011, 14:06:01
Post #14





Grupa: Zarejestrowani
Postów: 248
Pomógł: 55
Dołączył: 1.06.2010
Skąd: mam to wiedzieć?

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


Cytat(Bustard @ 11.11.2011, 14:03:36 ) *
Działa.. Boże, dzięki !
Banalne problemy, są moimi największymi, heh biggrin.gif


Bogiem, to ja nie jestem wink.gif
Polecam książkę: vademecum profesjonalisty php i mysql. Na początek super.
Albo strona mysql - dokumentacja + php.net - dokumentacja.
Przeczytaj całość.


--------------------
Łatwo jest być odważnym za murami własnego zamku.
Go to the top of the page
+Quote Post
nospor
post 12.11.2011, 10:43:43
Post #15





Grupa: Moderatorzy
Postów: 36 449
Pomógł: 6292
Dołączył: 27.12.2004




Cytat
nie rozumiem co nie tak w tym temacie jest?
Przecież masz tam jak wół po polsku wszystko napisane.
Masz włączyć wyświetlanie wszystkich błędów,
gdy masz problemy z bazą masz używać mysql_error()
masz robic var_dump()

Wszystko to jest po polsku napisane a ty się głupio pytasz :/
Wszystko to musieli ci to jeszcze raz z osobna w kolejnych postach napisać, bo ty nie potrafisz przeczytać ze zrozumieniam prostego tematu napisanego po polsku ze wskazówkami jak postępować w takich przypadkach. Pewnie w ogóle go nie przeczytałeś.


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

"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

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: 23.04.2024 - 08:59