私はこれをやろうとしています:
$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;