![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Witam.
Mam zapytanie update do bazy:
Problem pojawia się przy omnie. Pole omnie w MySQL to text. Varchar i Tinytext też nie działa. Kod SQLSTATE[42S22]: Column not found: 1054 Nieznana kolumna 'Text' w field list
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Masz dwie opcje:
- kolumny o tej nazwie nie ma w bazie, do której to idzie - używasz jako nazwy kolumny słowa kluczowego i nie zastosowałeś tych ptaszków -> `nazwa_kolumny` Poza tym daj całe zapytanie a nie zmienne, bo skąd mamy wiedzieć co idzie do bazy? Struktura tabeli też byłaby nie do pogardzenia. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Kod CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `login` varchar(30) NOT NULL default '', `haslo` varchar(35) NOT NULL default '', `rej` datetime NOT NULL default '0000-00-00 00:00:00', `mail` varchar(35) NOT NULL default '', `gg` int(8) default NULL, `wiek` int(2) default NULL, `imie` varchar(15) default NULL, `nazwisko` varchar(30) default NULL, `miasto` varchar(20) default NULL, `plec` char(1) default NULL, `omnie` text, PRIMARY KEY (`id`), UNIQUE KEY `login` (`login`), UNIQUE KEY `mail` (`mail`) ) ENGINE=MyISAM DEFAULT CHARSET=latin2 AUTO_INCREMENT=4;
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Daj:
I wklej co pokaże, bo czasem zmienne przyjmują zaskakujące wartości, także metoda prepare może tu coś mieszać, postaraj się wyświetlić zapytanie, które idzie do bazy. A jakiego używasz programu do obsługi bazy? Może coś z konfiguracją pola? Jak wpisujesz tam coś w (phpmyadmin czy jakimś innym programie do obsługi bazy) to dodaje bez problemu? Spróbuj wkleić to zapytanie. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
PMA do edycji bazy.
Zapytanie przy tworzeniu nowego usera:
Echo po wysłaniu formularza: Kod UPDATE `user` SET `wiek` = 55, `gg` = 555555, `omnie` = Text, `plec` = M, `imie` = Piotruś, `nazwisko` = Pan, `miasto` = Nibylandia WHERE `id`=3
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 49 Dołączył: 29.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Moment moment, przecież wokół pola tekstowego `omnie` brakuje cudzysłowów (a w zasadzie apostrofów) - więc nic dziwnego że się wysypuje, skoro MySQL otrzymuje coś takiego: 'UPDATE ... SET `omnie` = jestem wesoły Romek, mam na przedmieściu domek WHERE ...'
Ten sam problem dotyczy zresztą wszystkich pozostałych pól nienumerycznych. Kiedy nie wiesz czemu zapytanie nie działa - pierwszą Twoją reakcją powinno być wyplucie go sobie za pomocą echo i wklejenie do SQL Browsera (np. phpMyAdmin-a). |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Gdzie mam ten apostrof wstawić? Próbowałem różnych przestawień w zapytaniu.
PMA zwraca taki sam błąd jak w pierwszym poście w tym temacie, ale pola cyfrowe wyglądają tak: 'pole' =numer, a pola tekstowe: 'pole' = tekst |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 142 Pomógł: 49 Dołączył: 29.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Jak to gdzie? Tu:
Powinno być:
Przestawiłem kolejność cudzysłowów (wewnętrzne/zewnętrzne) - tak mi się wydaje że jest czytelniej. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Nie... każdą wartość tekstową musisz otoczyć normalnym apostrofem, a nie ciapkami. By zaś to nie kolidowało z zastosowanymi apostrofami jako oznaczenie stringu... zastosuj do nich znak ucieczki. Ma więc być:
PS: skarabe.pl też dobrze Ci pisze.Czemu więc nie sprawdziłeś tego co Ci podał jako gotowca? -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 9.11.2008 Ostrzeżenie: (10%) ![]() ![]() |
Skopiowałem dokładnie to co napisałeś w tagu PHP i
Kod Parse error: syntax error, unexpected '=' EDIT Mam oczojeba już od tego kodu nie zauważyłem "; w twoim kodzie ![]() Ten post edytował vegeta 8.08.2010, 16:07:25 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 10:23 |