views:

510

answers:

1

I'm using Zend Framework with the PDO MySQL adapter and I want to use a function in my insert statement. Basically, the SQL I want to generate is this:

INSERT INTO `myTable` (`leftId`, `rightId`, `date`) VALUES ($left, $right, NOW())

This is the code in my Model:

$data = array(
    "leftId" => $left,
    "rightId" => $right,
    "date" => "NOW()"
);

$this->insert($data);

This tries to insert "NOW()" rather than NOW():

General error: 1292 Incorrect datetime value: 'NOW()' for column 'date' at row 1

How do I go about this?

+8  A: 

Found it in the manual*:

$data = array(
    "leftId" => $left,
    "rightId" => $right,
    "date" => new Zend_Db_Expr("NOW()")
);

*I know, can you believe it?

nickf
+1 for manual lulz
Carson Myers
Correct, and hooray for the manual!
David Caunt