Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] zapisywanie daty do bazy, coś pochrzaniłem...
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam,

Muszę zaktualizować pole typu DATETIME w bazie. Kolumna nazywa się "mod".

  1. $mod = date('Y-m-d H:i:s');
  2. $sql = "UPDATE tabela SET mod='".$mod."' WHERE id='" . $id . "'";
  3. $result = mysql_query($sql) or die (mysql_error());


Patrzę na to już dobrych parę chwil i nie widzę byka... Co robię nie tak, że non stop wywala mi błąd w zapytaniu?

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mod='2013-01-03 10:38:27' WHERE id='25'' at line 1

Chodzi o linię z zapytaniem. Dla testów wywaliłem wszystko co niepotrzebne i zostawiłem tylko te 3 linijki. Jeśli ktoś z Was widzi jakiś błąd to proszę o podpowiedź.
Go to the top of the page
+Quote Post
skowron-line
post
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

Ostrzeżenie: (0%)
-----


  1. 'UPDATE tabela SET mod="'. $mod .'" where id='. $id;

Go to the top of the page
+Quote Post
lukash82
post
Post #3





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Dzięki za szybkie info ale niestety dalej wywala takiego samego byka...

Mam w tej tabeli jeszcze inne kolumny i jak je wszystkie aktualizuję z pominięciem kolumny "mod" to wszystko leci bez problemu. Format danych date() i w tabeli DATETIME się zgadza bo dodawanie nowego rekordu do tabeli w identycznej formie działa. Ale aktualizacja tej kolumny niestety już nie. Niby prosta sprawa a chrzani się to niemiłosiernie:/
Go to the top of the page
+Quote Post
aras785
post
Post #4





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


A format jest taki sam jak przy dodawaniu?

Spróbuj tak:

  1. $sql = "UPDATE tabela SET mod='$mod' WHERE id='$id' LIMIT 1--";


Ten post edytował aras785 3.01.2013, 11:13:25
Go to the top of the page
+Quote Post
lukash82
post
Post #5





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Dalej klapa:/

Normalnie jakieś dziwy się mi tu dzieją...

Zmieniłem format w bazie na DATE i $mod = date('Y-m-d') -> działa
Zmieniłem format w bazie na TIME i $mod = date('H:i:s') -> działa

Wróciłem z powrotem do DATETIME i $mod = date('Y-m-d H:i:s') -> nie działa

Zmieniłem dane w innej kolumnie z identycznymi ustawieniami i wszytkie opcje działają. Wróciłem do starej kolumny, kaput:/

Nie wiem o co chodziło ale problem rozwiązał się po zmianie nazwy kolumny z "mod" na jakąkolwiek inną nazwę. Normalnie czary jakieś czy co?

Jak ktoś wie co ma do rzeczy nazwa kolumny "mod" i nazwa zmiennej do niej zapisywanej "$mod" to niech da znać. Ale tylko przy aktualizacji rekordu. Dodawanie do pustej komórki działa, hehe.

Dzięki za pomoc.
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Ma to do rzeczy http://dev.mysql.com/doc/refman/5.0/en//ma...ml#function_mod
Używasz słowa zastrzeżonego.
Go to the top of the page
+Quote Post
lukash82
post
Post #7





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


A, takie buty...(IMG:style_emoticons/default/wink.gif)

Dzięki za wyjaśnienie.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.05.2026 - 09:39