![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taką bazę danych:
Taki skrypt php:
Nie działa mi kod w tym miejscu: W tym miejscu wywala mi błąd. Co muszę poprawić? Siedzę już nad tym sporo czasu i w necie nic nie znalazłem. Chcę to zrobić obiektowo. Ten post edytował jml 10.02.2007, 00:17:22 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 18.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php
$result = $connect -> query("insert into user(username, pass, email, number) values('".$user."',sha1('".$pass."'),'".$email."',".$number.")"); ?> Ten post edytował bne 10.02.2007, 00:46:37 -------------------- Darmowa wyszukiwarka MP3
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ciągle nie działa.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 18.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
A poprawiłeś pass na password? Czy przepisałeś to co podałem nawet nie sprawdzając co tam pisze?
-------------------- Darmowa wyszukiwarka MP3
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Sorki, nie zauważyłem... Poprawione i też nie działa.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Chcę to zrobić obiektowo. Zacznij od nieobiektowego mysql_error zaraz po zapytaniu i pokaż/przeanalizuj zwrócony błąd. To, że wywala ci błąd niestety mówi niewiele ;)pozdr. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam w bloku catch coś takiego:
Niestety 'echo $e->getmessage();' nie pokazuje mi żadnego komunikatu o błędzie - czy coś tu jest źle tzn w żądaniu komunikatu błędu? Próbowałem uzyskać błąd za pomocą mysql_error() ale po pierwsze nie wiem jak to zastosować dokładnie (tzn stosowałem, bez rezultatu), po drugie musiałbym sporo przerobić żeby wywołać komunikat o o błędzie tą funkcją. 'echo $e->getmessage();' powinno chyba pokazać komunikat błędu, prawda? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Skoro nie wiesz jak posłużyć się mysql_error() to wyświelt zapytanie które tworzysz w 11 lini tego kodu co pokazałeś.
Dla pewności zrób np tak:
Zobacz co Ci powie phpMyAdmin bądź też jakieś inne narzędzie do MySQL'a z którego korzystasz podczas próby wykonania tego zapytania "z ręki". -------------------- 404
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok, wszystko jest w porządku. Błąd znalazłem wpisując zapytanie do bazy z wiersza poleceń.
Cały skrypt jest w porządku, błąd był w pliku sql tworzącym bazę, wystarczyło zmienić tinyint na int w kolumnie 'number' (za dużych liczb używałem jak na tinyint). Ehhh, 2 dni szukałem tego błędu... No ale nic, dziękuję wszystkim za pomoc ![]() Jeszcze jedno pytanie, odnośnie tego fragmentu powyższego kodu: Sprawdza on, czy podany user instnieje już w bazie danych. Jeśli jednak w bazie jest user o nazwie 'ktos', a chcemy zarejestrować nowego usera 'ktos1', to wywali nam, że taki już istnieje. Jak zrobić, żeby nie można było zarejestrować tylko identycznego usera, a nie też takiego, który ma podobny człon jak podawany w formularzu? Ten post edytował jml 10.02.2007, 13:50:11 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 112 Pomógł: 20 Dołączył: 10.04.2005 Ostrzeżenie: (0%) ![]() ![]() |
No, nie wiem co tam się dzieje w twoim obiekcie $connect, ale ten warunek chyba trochę przekombinowałeś. Sprawdzasz czy są już rekordy z pasującym loginem ($connect->num_rows>0) ale na początek odwracasz logiczną wartość tego sprawdzenia przez !. Czyli tak naprawdę, warunek się sprawdzi jeżeli nie będzie żadnych rekordów zwróconych przez zapytanie. IMHO usunięcie wykrzyknika powinno wystarczyć. pozdr. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 8.02.2007 Ostrzeżenie: (0%) ![]() ![]() |
No, nie wiem co tam się dzieje w twoim obiekcie $connect, ale ten warunek chyba trochę przekombinowałeś. Sprawdzasz czy są już rekordy z pasującym loginem ($connect->num_rows>0) ale na początek odwracasz logiczną wartość tego sprawdzenia przez !. Czyli tak naprawdę, warunek się sprawdzi jeżeli nie będzie żadnych rekordów zwróconych przez zapytanie. IMHO usunięcie wykrzyknika powinno wystarczyć. pozdr. Dzięki, poza tym powinienem wywoływać to na rzecz obiektu 'result' ![]() Ten post edytował jml 10.02.2007, 19:53:32 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 01:48 |