使用这样的绑定参数似乎有某种(反?)模式:
$dbh->do(
'select foo from bar where baz > ? and baz < ? + 1',
undef,
$var1, $var1
)
即真正想要的是$var1
在查询中使用两次的值。有没有办法避免$var1
在绑定参数列表中指定两次?
使用这样的绑定参数似乎有某种(反?)模式:
$dbh->do(
'select foo from bar where baz > ? and baz < ? + 1',
undef,
$var1, $var1
)
即真正想要的是$var1
在查询中使用两次的值。有没有办法避免$var1
在绑定参数列表中指定两次?
一、用法其实是
$dbh->do(
'select foo from bar where baz > ? and baz < ? + 1',
undef,
$var1, $var1
);
除非您的 DBD 支持位置或命名占位符,
$dbh->do(
'select foo from bar where baz > $1 and baz < $1 + 1',
undef,
$var1
);
你需要指定它两次,虽然你可以使用
$dbh->do(
'select foo from bar where baz > ? and baz < ? + 1',
undef,
($var1)x2
);
如果您的驱动程序支持它们,一种方法可能是使用编号占位符,例如:
$dbh->do(
'select foo from bar where baz > ?1 and baz < ?1 + 1',
undef,
$var1
)
您要做的是使用命名参数。某些库(如PDO)支持此功能。