![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 17.05.2003 Skąd: Nysa Ostrzeżenie: (10%) ![]() ![]() |
Mam taką strukturę:
[sql:1:7e8ba38c0d] CREATE TABLE Users ( USER_ID BIGINT AUTO_INCREMENT UNIQUE PRIMARY KEY, PROFILE_ID INT NOT NULL, login VARCHAR(25) NOT NULL, pass CHAR(32) NOT NULL, email VARCHAR(100) NOT NULL, school VARCHAR(100), city VARCHAR(100), voivoidship VARCHAR(25), register_date DATE, register_time INT(10), WWW VARCHAR(100), hobby TEXT, GG INT(10), tlen VARCHAR(50), born_date DATE, sex CHAR(1) NOT NULL DEFAULT 'M', is_hidden tinyint(4) NOT NULL DEFAULT '0', is_active tinyint(4) NOT NULL DEFAULT '0', is_banned tinyint(4) NOT NULL DEFAULT '0', is_protected INT(1) NOT NULL DEFAULT '0', mkdate_of_last_readed_post INT(10) NOT NULL DEFAULT '0', posts_number INT NOT NULL DEFAULT '0', signature TEXT, avatar_file VARCHAR(35) ); [/sql:1:7e8ba38c0d] Chodzi o wartosc pola is_protected <- moge tam wprowadzic wartosc 1, ale nie mogę 0 i nie wiem dlaczego, siedzę już od 2 dni i nadal nie wiem w czym tkwi problem. A aby było zabawniej nie ma żadnych błędów, a przynajmniej nie wykazuje ich mysql_error(); -------------------- ![]() "Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski) dev: gazeta.ie |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Jak to nie możes "0"? pokaz inserta, którym wstawaisz dane.
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
No to nic tam nie wstawiaj, poleci na defaulcie ;-)
-------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 17.05.2003 Skąd: Nysa Ostrzeżenie: (10%) ![]() ![]() |
[sql:1:ee12610425]
query = "INSERT INTO VALUES ('', ".$_POST['profile'].", '$newLogin', '$hashedPass', '$newEmail', '".$_POST['studia']."', '$newCity', '".$_POST['wojewodztwo']."', '$date', '$mkdate', '$newWWW','$newHobby', '$newGG', '$newTlen', '$bornDate', '".$_POST['plec']."', '0', '0', '0', '$protect', '0', '0', NULL, NULL)"; [/sql:1:ee12610425] A po defaulcie też nie chce lecieć. Co ciekawe jak wpisuje zapytanie bezpośrednio z monitora bazy to wszystko jest cacy, wygląda to co najmniej dziwnie... Dalej: jak usunąłem pole is_pretected to nadal zapytanie nie dawało wyniku. A z durną 1 w miejscu is_pretected działa... sprawdze to na phpie 5, może to wina interpretera... -------------------- ![]() "Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski) dev: gazeta.ie |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
a) wartości liczbowych nie zamykaj w ' '
![]() ___ OT ___ Lekko zmodfikowąłem Twoją tabelę (popatrz na pola typu "SET")[sql:1:3d29f63216]CREATE TABLE `Users` ( `USER_ID` int(11) NOT NULL auto_increment, `PROFILE_ID` int(11) NOT NULL default '0', `login` varchar(25) NOT NULL default '', `pass` varchar(32) NOT NULL default '', `email` varchar(100) NOT NULL default '', `school` varchar(100) default NULL, `city` varchar(100) default NULL, `voivoidship` varchar(25) default NULL, `register_date` date default NULL, `register_time` int(10) default NULL, `WWW` varchar(100) default NULL, `hobby` text, `GG` int(10) default NULL, `tlen` varchar(50) default NULL, `born_date` date default NULL, `sex` set('F','M','U') NOT NULL default 'U', `is_hidden` set('Y','N') NOT NULL default 'N', `is_active` set('Y','N') NOT NULL default 'N', `is_banned` set('Y','N') NOT NULL default 'N', `is_protected` set('Y','N') NOT NULL default 'N', `mkdate_of_last_readed_post` int(10) NOT NULL default '0', `posts_number` int(11) NOT NULL default '0', `signature` text, `avatar_file` varchar(35) default NULL, PRIMARY KEY (`USER_ID`), UNIQUE KEY `USER_ID` (`USER_ID`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; [/sql:1:3d29f63216]NIe mam czasu przeyglądac się teraz całej. Ale SET ('Y', 'N') dość dobrze opisują to co się w nich znajduje. MySQL nie ma (AFAIR) pól typowo bitowych - a przydałyby się. Char zajmuje 1 bajt, TinyInt AFAIR 4 a pola bitowe (true/false) zajmowałby 1/8 bajta - niesamowita oszczędność i wygoda. GDzieś tu na forum przewijał się też temnat masek bitowych, czyli zapisania Twoich 4 pól is_* w jedno o wartości, np. 1111 - czyli wszystko na "on" - przeliczajac takizapis na dziesietny mamy liczbę "15" (jedno pole tinyint) a szesnastkowo to "F" - czyli nawet jedno pole "char(1)" do opisy max 8 zmiennych. Ehh.. sorki.. zrobiłem OT. -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 407 Pomógł: 0 Dołączył: 24.10.2002 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat [sql:1:4d4b23f9e8]
query = " ... '".$_POST['plec']."', '0', '0', '0', '$protect', '0', '0', NULL, NULL)"; [/sql:1:4d4b23f9e8] wyjmij zmienna z '', pewnie ci traktuje jako string i probuje zapisac do bazy napis '$protect', a ze pole jest typu int to nie przyjmuje napisu i daje deafult czyli '0'... widze, ze reszte zmiennych powyjmowales ze stringa widac o tej zapomniales.. voila ;) [sql:1:4d4b23f9e8]query = "INSERT INTO VALUES ('', ".$_POST['profile'].", '$newLogin', '$hashedPass', '$newEmail', '".$_POST['studia']."', '$newCity', '".$_POST['wojewodztwo']."', '$date', '$mkdate', '$newWWW','$newHobby', '$newGG', '$newTlen', '$bornDate', '".$_POST['plec']."', '0', '0', '0', '".$protect."', '0', '0', NULL, NULL)"; [/sql:1:4d4b23f9e8] -------------------- Zalew :: http://jakubzalewski.info
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 259 Pomógł: 0 Dołączył: 17.05.2003 Skąd: Nysa Ostrzeżenie: (10%) ![]() ![]() |
to z '' i tak nic nie dawało.
A faktycznie później zamieniłem inty na zbiory tylko, że na 0,1 i pomogło. Ale nadal ciekawi mnie fakt, że z poziomu phpa nie mogłem umieścić tam w pola int samych 0... -------------------- ![]() "Nie wiedziałem tylko, że Bóg też był na grzybach, gdy majstrował przy wszechświecie" (Janusz Wisniewski) dev: gazeta.ie |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 14:44 |