Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [OOPHP]Call to undefined function NOW()
Damonsson
post
Post #1





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


  1.  
  2. KLASA:
  3. function zapytanie($sql){
  4. $this->rs = @mysql_query($sql,$this->polaczony)
  5. or die("Błąd zapytania SQL");
  6. return $this->rs;
  7. }
  8.  
  9. function dodaj($tabela, $wartosc) {
  10. $klucz = implode("`, `", array_keys($wartosc));
  11. $wartosc = implode("', '", array_values($wartosc));
  12. $this->zapytanie("INSERT INTO `$tabela` (`$klucz`) VALUES ('$wartosc')");
  13. }
  14. WYWOŁANIE:
  15. $laczbd->dodaj('uzytkownicy', array(
  16. 'dolaczyl' => NOW())
  17. );


Czemu mi wyświetla: Call to undefined function NOW() ?

Ten post edytował Damonsson 4.08.2010, 00:41:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


Ponieważ w php nie ma takiej funkcji jak NOW().


  1. $laczbd->dodaj('uzytkownicy', array('dolaczyl' => 'NOW()');


Ten post edytował Wicepsik 4.08.2010, 00:43:26
Go to the top of the page
+Quote Post
Damonsson
post
Post #3





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


Ale jest w MySql, a jak to przekażę w cudzysłowach to baza danych wyświetla 0000-00-00 00:00:00 zamiast aktualnej.

Dopiero się uczę, więc prosiłbym o jakieś wyjaśnienie. Zapewne jakiś problem robi moja: function dodaj, bo jak dam przez function zapytanie i po prostu INSERT INTO uzytkownicy (dolaczyl) VALUES (now()) To jest wszystko ok.
Go to the top of the page
+Quote Post
Crozin
post
Post #4





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


1)
  1. 'dolaczyl' => NOW()
To jest fragment kodu PHP - MySQL i jego funkcje nie mają tu nic do rzeczy. NOW() to próba wywołania PHPowskiej funkcji NOW, a taka nie istnieje, ani nie została zdefiniowana przez Ciebie
2) Zauważ, że w metodzie dodaj() na sztywno budujesz zapytanie SQL z watością podaną w cudzysłowie. Efektem jest zapytanie:
  1. ....VALUES('NOW()')
, czyli próbujesz wstawić tekst "NOW()", a nie wywołać funkcję.
Go to the top of the page
+Quote Post
Damonsson
post
Post #5





Grupa: Zarejestrowani
Postów: 2 355
Pomógł: 533
Dołączył: 15.01.2010
Skąd: Bydgoszcz

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


No tak, ale ja głupi ;/
Faktycznie. Już wszystko działa tak jak trzeba.
Dzięki za szybkie uderzenie młotkiem w głowę.

Ten post edytował Damonsson 4.08.2010, 01:06:11
Go to the top of the page
+Quote Post
everth
post
Post #6





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


Zawsze może przelecieć tablicę array_walkiem:
  1. array_walk($wartosc,create_function('&$value,&$key','if (!preg_match("/\(.*\)/",$value)) $value = addslashes($value);'));
Go to the top of the page
+Quote Post
Crozin
post
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


@everth: http://php.net/manual/en/functions.anonymous.php
Go to the top of the page
+Quote Post
Fifi209
post
Post #8





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Moim zdaniem lepiej dać w bazie pole timestamp a jako wartość domyślą ustawić mu current_timestamp.
Go to the top of the page
+Quote Post
everth
post
Post #9





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

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


@Crozin: czasami jesteś tak lakoniczny że ciężko zrozumieć o co ci chodzi. Tak wiem co to są funkcje anonimowe, wiem również co oznacza "Anonymous functions are available since PHP 5.3.0". Można powiedzieć że moja wersja jest wstecznie kompatybilna (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Crozin
post
Post #10





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Wersja 5.3 jest z nami już od ponad roku. Po poziomie kodu i pytania widać, że autor dopiero się uczy, więc niech się uczy na czymś względnie nowym. Wsteczna kompatybilność to zło - czasami zło konieczne, ale na 90% nie w tym przypadku. (IMG:style_emoticons/default/winksmiley.jpg)
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: 22.08.2025 - 12:57