![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Witam. Domyslam sie, ze sa to pytania z zakresu podstawowych, ale wiezcie mi ze szukalem po sieci i staralem sie sam do tego dojsc. Przejde moze do rzeczy. Mam problem. Mam w bazie kilka wpisow. Chce aby przed dodaniem kolejnego wpisu skrypt sprawdzal czy taki wpis juz istnieje. Robie to tak
Kod $sql = mysql_connect($host, $user, $password);
$do_select_db = mysql_select_db("sms"); $ask = "SELECT * FROM 'baza_danych' WHERE adres = '$seek' "; $do = mysql_query($ask); if($do == TRUE ) echo "Adres $seek znaleziono w bazie."; else { echo "Adresu $seek nie znaleziono w bazie."; } $do_close_db = mysql_close($sql); Zawsze wyskakuje, ze adresu nie znaleziono w bazie. Dlaczego? Macie moze jakies rozwiazanie na ten problem? Pozdrawiam... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Zawsze wyskakuje, ze adresu nie znaleziono w bazie. Dlaczego? Macie moze jakies rozwiazanie na ten problem?
Ponieważ mysql_query() (dla zapytań SELECT, SHOW, EXPLAIN i DESCRIBE !!!) w przypadku powodzenia zwraca "identyfikator wyniku", w przeciwnym razie FALSE... Więc to nigdy nie będzie równe TRUE... Powinno być tak: [php:1:148b74cd3e]<?php if( $do == false ) { echo "Adresu $seek nie znaleziono w bazie."; } else { echo "Adres $seek znaleziono w bazie."; } mysql_close($sql); ?>[/php:1:148b74cd3e] -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
OK... Teraz moj kod wyglada nastepujaco:
Kod $sql = mysql_connect($host, $user, $password);
$do_select_db = mysql_select_db("smslo"); $ask = "SELECT * FROM 'baza_subskrypcji' WHERE adres_email = 'asas' "; $do = mysql_query($ask); if($do == FALSE ) echo "Adresu $seek nie znaleziono w bazie."; else { echo "Adres $seek znaleziono w bazie"; } $do_close_db = mysql_close($sql); Niestety nie dziala tak jak chce. Co to moze byc? Pozdrawiam... |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Niestety nie dziala tak jak chce. Co to moze byc?
To może napisz jak działa, a jak Ty chcesz... ![]() Nie jestem czarodziejem.... :wink: -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej
Cytat Kod $sql = mysql_connect($host, $user, $password); $do_select_db = mysql_select_db("sms"); $ask = "SELECT * FROM 'baza_danych' WHERE adres = '$seek' "; $do = mysql_query($ask); if($do == TRUE ) echo "Adres $seek znaleziono w bazie."; else { echo "Adresu $seek nie znaleziono w bazie."; } $do_close_db = mysql_close($sql); 1) mysql_query() zwraca FALSE gdy masz blad w zapytaniu SQL - aby wyswietlic blad robisz np echo mysql_error(); - latwe i wygodne ;) 2) tobie bardziej pewnei zalezalo zeby sprawdzic czy select wybral 0 czy wiecej wierszy - do tego slyzy mysql_num_rows. Musisz wiec zmienic [php:1:3778266195] .. $ask = "SELECT * FROM 'baza_danych' WHERE adres = '$seek' "; $do = mysql_query($ask); if($do == TRUE ) echo "Adres $seek znaleziono w bazie."; .. [/php:1:3778266195]na[php:1:3778266195].. $ask = "SELECT * FROM 'baza_danych' WHERE adres = '$seek' "; $do = mysql_query($ask); $how_many = mysql_num_rows($do); if($how_many > 0 ) echo "Adres $seek znaleziono w bazie."; ...[/php:1:3778266195] 3) juz ;) ps kameleon - ja tam zrozumialem od razu ;)P pps mam nadzieje ;)) -------------------- .. make web your home ..
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Zrobilem tak jak napisales i uzylem kodu:
Kod $how_many = mysql_num_rows($do);
i nie dziala. Wyskakuje: "Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in..." Dlaczego tak jest? Pozdrawiam... |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat kameleon - ja tam zrozumialem od razu
![]() kurtz: nie rób sobie jaj, nie napisałem, że nie rozumiem ;P Co do mysql_num_rows() masz rację... Cytat i nie dziala. Wyskakuje:
"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in..." Sprawdz polaczenie z bazą i wynik mysql_select_db... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej
Cytat Cytat kameleon - ja tam zrozumialem od razu ;)P
kurtz: nie rób sobie jaj, nie napisałem, że nie rozumiem ;P Cytat Cytat i nie dziala. Wyskakuje:
"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in..." Sprawdz polaczenie z bazą i wynik mysql_select_db... Ja sugeuje magicznie [php:1:4ececd237d]echo mysql_error();[/php:1:4ececd237d] - poki trwa nauka sporo mozna sie z tego dowiedziec nie nekajac innych :) Pozdrawiam i trzymam kciuki za rozwiazanie problemu :) -------------------- .. make web your home ..
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ja sugeuje magicznie
Magicznie to czaruje Harry Potter ;P Chyba funkcje coś zwracają, nie trzeba od razu wywalać mysql_error()... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 384 Pomógł: 0 Dołączył: 3.04.2003 Skąd: Chorzow Ostrzeżenie: (0%) ![]() ![]() |
Zwracaja, wynik lub false. Z tego jeszcze nie da sie wywnioskowac co jest zle.
[php:1:96e69c3fbb] $ask = "SELECT * FROM 'baza_danych' WHERE adres = '$seek' "; [/php:1:96e69c3fbb] Tu jest namieszane z ' i ". zapisz to tak: [php:1:96e69c3fbb] $ask = "SELECT * FROM baza_danych WHERE adres='$seek'"; [/php:1:96e69c3fbb] i jak dalej nie bedzie dzialac to daj zaraz za mysql_query instrukcje echo mysql_error(); |
|
|
![]()
Post
#11
|
|
![]() Grupa: Przyjaciele php.pl Postów: 786 Pomógł: 0 Dołączył: 18.03.2002 Skąd: Wroclaw/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Hej
Cytat Chyba funkcje coś zwracają, nie trzeba od razu wywalać mysql_error()... Zgadza sie - czesto jednak w przypadku mysql'a mysql_error() daje wieksze mozliwosci szybkiego dotarcia do odpoweidzi "ocochodzi".
Tak, lepiej od razu pisac kod gdzie mam if ... if.. if.. . Tylko powiedz mi, ktory z poczatkujacych od tego zacznie ;) Pozdrawiam -------------------- .. make web your home ..
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:17 |