如何将函数/常量绑定到变量PHP

时间:2012-08-08 17:45:49

标签: php mysql data-binding pdo

我正在努力为我做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”。

我需要做些什么来让它给我我想要的东西?


感谢您的回复,

这是否像手动绑定一样安全?

你会在什么情况下手动绑定?

1 个答案:

答案 0 :(得分:3)

不需要此函数,因为PDOStatement::execute已经支持传入参数数组。只需:

$result->execute( $values );