Uzywam jako abstrakcji do obslugi baz danych biblioteki CREOLE
Mam następujący kod:
<?php $stmt = $this->DBCon->prepareStatement(\"INSERT INTO Aktualnosci(DataDodania) VALUES(?)\"); $stmt->set(1, 'now()'); // Tutaj jest problem ?>
Chodzi o to ze zapytanie sie wykonuje, ale zamiast aktualnej daty wpisywane sa same zera(dodam ze kolumna DataDodania jest typu DATE - MySQL)
Domyslam sie ze wstawiajac funkcje now w znaki ' i ', CREOLE traktuje mi to jako string'a, usuniecie cudzyslowia spowoduje, ze nastapi proba wywolania niezdefiniowanej funkcji now() - moje pytanie zatem jest takie - jak wstawic jako zmienna, funkcje serwera bazy danych do zapytania. Moze sie zdazyc tak, ze zamiast funkcji now() bede podstawial zdefiniowana date - dlatego nie chce ustalac tego w zapytaniu na stale.
pozdrawiam i dzieki za pomoc
anas
------------------------------------
Problem rozwiązany, sorrki za zawracanie gitary:
Uboga dokumentacja do CREOLE spowodowała że dopiero teraz przeglądając kod natrafiłem na metodę
<?php function setDate($paramIndex, $value) { if ($value === null) { $this->setNull($paramIndex); } else { $this->boundInVars[$paramIndex] = \"'\" . $this->escape($value) . \"'\"; } } ?>
W moim przypadku wystarycz powyższy przykład wywołac w taki sposób:
<?php $stmt = $this->DBCon->prepareStatement(\"INSERT INTO Aktualnosci(DataDodania) VALUES(?)\"); $stmt->setDate(1, time()); // -> i tak działa dla pól typu date, dla pól time, timestamp są inne metody ?>
pozdrowka
anas