Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wstawianie daty PDO
tukan
post
Post #1





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 19.06.2011

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


Witam,
Chcę dodać do bazy danych datę za pomocą PDO, kolumna ma atrybut data
  1. $pdo = new PDO('mysql:host=localhost;dbname=CMS', 'root', 'vertrigo');
  2. $pdo -> SetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  3. $prepare = $pdo -> prepare("INSERT INTO articles (article_title, article_content, date_publicate, autor) VALUES (:article_title, :article_content, :date_publicate, :autor)");
  4. $prepare -> bindValue(':article_title', $this -> title, PDO::PARAM_STR);
  5. $prepare -> bindValue(':date_publicate', date("Y-m-d H:i:s", time()), PDO_PARAM_STR);
  6.  
  7. $prepare -> bindValue(':article_content', $this -> content, PDO::PARAM_STR);
  8. $prepare -> bindValue(':autor', "sadd", PDO::PARAM_STR);
  9.  
  10. //$prepare->bindValue(':autor', $this->autor, PDO_PARAM_STR);
  11. $prepare -> execute();


i pojawia mi się błąd:
PDOStatement::bindValue() expects parameter 3 to be long, string given in (....) line 45
Dotyczy on o tej linii:
  1. $prepare -> binValue(':date_publicate', date("Y-m-d H:i:s", time()), PDO_PARAM_STR);

Nie wiem jak to naprawić

Ten post edytował tukan 12.08.2011, 11:28:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Fifi209
post
Post #2





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

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


wrzuć po prostu w zapytanie NOW() zamiast przekazywać datę bieżącą z php to będziesz miał to samo po stronie mysql
Go to the top of the page
+Quote Post
skowron-line
post
Post #3





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

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


Cytat
$pdo = new PDO('mysql:host=localhost;dbname=CMS', 'root', 'vertrigo');
$pdo -> SetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$prepare = $pdo -> prepare("INSERT INTO articles (article_title, article_content, date_publicate, autor) VALUES (:article_title, :article_content, :date_publicate, :autor)");
$prepare -> bindValue(':article_title', $this -> title, PDO::PARAM_STR);
$prepare -> bindValue(':date_publicate', date("Y-m-d H:i:s", time()), PDO_PARAM_STR);

$prepare -> bindValue(':article_content', $this -> content, PDO::PARAM_STR);
$prepare -> bindValue(':autor', "sadd", PDO::PARAM_STR);

//$prepare->bindValue(':autor', $this->autor, PDO_PARAM_STR);
$prepare -> execute();


znajdz różnicę między dwoma pogrubionymi fragmentami.

Ten post edytował skowron-line 12.08.2011, 11:35:04
Go to the top of the page
+Quote Post
tukan
post
Post #4





Grupa: Zarejestrowani
Postów: 73
Pomógł: 0
Dołączył: 19.06.2011

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


Dzięki za pomoc,
jak to można szukać tak prostego błędu (IMG:style_emoticons/default/Lkingsmiley.png)
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
jak to można szukać tak prostego błędu
Szczególnie, że się tych błędów nie wyświetla.
Włączy wyświetlanie wszystkich błędów:
Temat: Jak poprawnie zada pytanie
Tu masz napisane jak, to nie będziesz z takimi pierdółami po forum latał.

ps: przenosze
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.10.2025 - 19:38