Я пытаюсь сделать это:
$sth = $dbi->prepare('INSERT INTO table VALUES (?, ?, ?)'); $sth->execute( $var1, $var2 || 'NOW()', $var3 );
без удачи. Есть идеи?
$sth = $dbi->prepare('INSERT INTO table VALUES (?, COALESCE(?, NOW()), ?)'); $sth->execute( $var1, $var2, $var3 );
Функции не могут быть связаны параметрами. MySQL заключит их в кавычки, недопустимый синтаксис.
Ваши варианты:
$now = time2str('%Y-%m-%d %T', time);
Вы также можете использовать следующую кодировку.
$sth = $dbi->prepare('INSERT INTO table VALUES (?, COALESCE(?, NOW()), ?)'); $sth->bind_param($var1,$var2,$var3); $sth1=$sth->execute;