我正试着做一个很好的小函数来为我绑定PDO
:
function autoBind($result, $values)
{
$i = 1 ;
foreach($values as $currentValue) {
if(is_numeric($currentValue))
{
$bindType = PDO::PARAM_INT ;
}
elseif(is_string($currentValue) || is_float($currentValue))
{
$bindType = PDO::PARAM_STR ;
}
else
{
return false ; // Error
}
$result->bindParam($i, $currentValue, $bindType) ;
$i++ ;
}
$result->execute() ;
}
但没用。如果我回显
$bindType
,它将显示为“1”,然后显示为“2”。我需要做什么才能让它给我我想要的?
谢谢你的回复,
这和手动绑定一样安全吗?
在什么情况下您会手动绑定?
最佳答案
不需要这个函数,因为PDOStatement::execute已经支持传入参数数组。简单地做:
$result->execute( $values );
关于php - 如何将函数/常量绑定(bind)到变量,PHP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11870184/