![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego mi to nie dziala? Zawsze dzialalo a teraz nagle nie pojawia sie blad ale nie wpisuje nic do bazy... Ten post edytował MarcinJarek 23.08.2004, 13:38:38 -------------------- ![]() |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
1) jezeli pole jest id jest kluczem podstawowym tabeli (primary key auto_increment) to przy dodawaniu rekordu do bazy danych mozesz opuscic to pole i zapytanie napisac tak:
2) co Ty chcesz dokladnie zrobic? czy to co zaprezentowales to kompletny kod? najpierwsz pobierasz dane z jakiejs tabeli a pozniej co? nic z tym nie robisz? w nastepnej kolejnosci dodajesz jakies dane do tej samej tabeli? czy sa to moze jakies fragmenty kodu... ![]() - zauwaz co do dodajesz do tabeli uzytkownicy: 'nick', 'haslo', 'data' - przypadkiem nie powinny tam byc jakies zmienne.. czy akurat chcesz dodawac te dane... ale watpie... 3) nie chce mi sie pisac wszystkiego od poczatku wiec przytaj sobie odpowiedz delorian'a z tego watku http://forum.php.pl/index.php?showtopic=20218 Ten post edytował mhs 23.08.2004, 13:51:47 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
mysql_connect (localhost, root, krasnal);
powinno być chyba tak: mysql_connect ('localhost', 'root', 'krasnal'); BTW. wszędzie gdzie masz funkcje mysql_ dodaj na końcu or die(mysql_error()); np.: mysql_connect ('localhost', 'root', 'krasnal') or die(mysql_error()); Teraz powinieneś zobaczyć komunikat o błędzie. -------------------- Nigdy nie kłóć się z głupim, ludzie mogą nie dostrzec różnicy.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat(Yarecki @ 2004-08-23 14:51:27) mysql_connect (localhost, root, krasnal); powinno być chyba tak: mysql_connect ('localhost', 'root', 'krasnal'); BTW. wszędzie gdzie masz funkcje mysql_ dodaj na końcu or die(mysql_error()); np.: mysql_connect ('localhost', 'root', 'krasnal') or die(mysql_error()); Teraz powinieneś zobaczyć komunikat o błędzie. ech... cale 5 sekund bylem szybszy.. ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Cytat(MarcinJarek @ 2004-08-23 15:11:08) Dzieki za pomoc. To nie jest kompletny kod ![]()
Ja używam takiej składni:
można też tak:
Ten post edytował Yarecki 23.08.2004, 14:25:06 -------------------- Nigdy nie kłóć się z głupim, ludzie mogą nie dostrzec różnicy.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kurde - teraz mam kod taki:
I nie chce dzialac - nie dodaje. ID - to jest primary key - wiec omijam go. Dzieki z goryy:) -------------------- ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Omijasz pole ID?
Cytat nie chce dzialac - nie dodaje. ID - to jest primary key - wiec omijam go. A czy przy polu ID ustawiłeś na AUTO_INCREMENT ? Jeżeli nie to ustaw bo inaczej nie będzie działać! A jeżeli nie chcesz tego zmieniać ta wpisz taki kod:
Pozdrawiam -------------------- Człowiek boi się tego czego nierozumie
--- Blog początkującego programisty |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Mam AUTO_INCREMENT i w polu artybury mam "UNSIGNED"
Co do kodu - wolalbym, aby dzialalo to autouzupelnianie... -------------------- ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
To zmień ustawienie żeby nie było UNSIGNED tzn. wyłącz to!
-------------------- Człowiek boi się tego czego nierozumie
--- Blog początkującego programisty |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nadal nie dziala. Wklejam caly kod bo to moze tego wina...
P.S moze to wina, ze mam ustawione NULL - NIE Ten post edytował MarcinJarek 23.08.2004, 15:47:12 -------------------- ![]() |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 80 Pomógł: 0 Dołączył: 2.08.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Cytat $q ="INSERT INTO uzytkownicy (`login`, `haslo`, `imie`, 'nazwisko', 'mail', 'typ', 'data') VALUES ('$login' , '$haslo' , '$imie, '$nazwisko', '$mail', 'testowani', '$data')"; przy imieniu nie jest domknięty apostrof |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
.....Nadal nie dziala ;(
-------------------- ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 17.02.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A na końcu tego zapytania
Brakuje średnika zamień na:
Pozdrawiam -------------------- Człowiek boi się tego czego nierozumie
--- Blog początkującego programisty |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
jezeli to jest koncowy kod to:
1) jezeli $haslo itd. to nazwy zmiennych prosto pobieranych z formularza to nie rob tak, tylko korzystaj z $_POST -> generalnie poczytaj o register globals 2) po co te dwa zapytania?
wystarczy, ze wykonasz drugie zapytanie i sprawdzisz czy jest taki uzytkownik 3) mozesz nalozyc w projekcie bazy na pole login artybut UNIQUE przez co bedziesz mial zapewniona integralnosc danych w bd (przy zapytaniu, probie dodania uzytkownika o istniejacym loginie system uniemozliwi taka czynnosc) 4) nie musisz tworzyc zmiennej $date wytarczy ze zapiszesz:
5) nie sprawdzasz czy zapytanie zostalo faktycznie wykonane, tylko z gory zakladasz, ze jest ok...
ps. to kilka uwag na poczatek... (jeszcze mozna by napisac o braku walidacji danych... i innych) ---edit--- Cytat Brakuje średnika zamień na: Kod php: 1 2 3 4 5 <?php $q ="INSERT INTO uzytkownicy (`login`, `haslo`, `imie`, 'nazwisko', 'mail', 'typ', 'data') VALUES ('$login' , '$haslo' , '$imie, '$nazwisko', '$mail', 'testowani', '$data');"; ?> Pozdrawiam nie brakuje... w zapytaniach wysylanych z poziomu skryptu nie stosuje sie tego, jezeli natomiast pracujesz na konsoli - to tak... Ten post edytował mhs 23.08.2004, 16:06:43 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wkelilem caly skrypt. A wiec w czym jest blad?
Aha nie ma takego czegosc jak 'UNIQUE" Ten post edytował MarcinJarek 23.08.2004, 16:18:33 -------------------- ![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 764 Pomógł: 3 Dołączył: 30.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
napisalem (poprawilem) to wlasciwie z glowy wiec nie dam 100% gwarancji... przede wszystkim to przy sprawdzaniu loginu zapomniales wyslac zapytanie do bazy danych... zobacz czy to bedzie Ci dzialas... niestety dzisiaj juz dalej Ci nie pomoge gdyz za chwile wychodze z pracy... ---e... UNIQUE - jest Ten post edytował mhs 23.08.2004, 16:30:19 |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Kod powinien wygladac tak:
Ale i tak nie dziala...pojawia sie: "nie zostal dodany". pomocy! Ja mam UNIKALNY :-) bo mam PL, wiec to chyba to ![]() Ten post edytował MarcinJarek 23.08.2004, 16:35:09 -------------------- ![]() |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Czemu nie użyjesz or die( mysql_error() ) przy mysql_query ?
-------------------- Nigdy nie kłóć się z głupim, ludzie mogą nie dostrzec różnicy.
|
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 103 Pomógł: 0 Dołączył: 1.12.2003 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie jest raczej proste moim zdaniem , zapytanie typu insert powinno wyglądać tak
nazwy pól nie powinny być w '' . -------------------- MySQL said:
You have an error in your SQL syntax near ' `sygnatura` VARCHAR, NOT NULL |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 104 Pomógł: 0 Dołączył: 26.10.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Zapisuje, ale haslo podane zapisuje w polu LOGIN a hasla wogule nie wpisuje...
-------------------- ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 12:08 |