我正在尝试这样做:
$sth = $dbi->prepare('INSERT INTO table VALUES (?, ?, ?)');
$sth->execute(
$var1,
$var2 || 'NOW()',
$var3
);
没有任何运气。有什么想法吗?
答案 0 :(得分:14)
$sth = $dbi->prepare('INSERT INTO table VALUES (?, COALESCE(?, NOW()), ?)');
$sth->execute(
$var1,
$var2,
$var3
);
答案 1 :(得分:3)
函数不能绑定参数。 MySQL会将它们用引号括起来,这不是有效的语法。
您的选择是:
$now = time2str('%Y-%m-%d %T', time);
答案 2 :(得分:2)
您也可以使用以下编码。
$sth = $dbi->prepare('INSERT INTO table VALUES (?, COALESCE(?, NOW()), ?)');
$sth->bind_param($var1,$var2,$var3);
$sth1=$sth->execute;