变量名称变量

时间:2011-12-29 13:08:05

标签: php database variables pdo

我正在尝试创建一个使用PDO样式构建自己的查询的函数。 问题是我需要创建变量变量名称。

我有一个函数insert_Query

public function insert_Query($data, $table){

数据是一个关联数组,表格是自己说的。

当处于PDO样式时,查询正常,您可以准备它。 这一切都很好,但我需要binParam函数来设置从数组到变量的值。 因为bindParam函数不喜欢数组,所以必须使用新变量。

问我如何生成变量和名称并用数据填充它们。

我已经尝试了以下内容:

        foreach($data as $k=>$v){
            $k = 'var'.$i;
            $$k = $v;
            $i++;
        }  

是的,它有效,我得到变量名称,但我如何绑定它们。 因为我仍然需要变量inslex bindParam函数。

有没有办法让php生成这些代码行?

如果有任何问题请告诉我。

1 个答案:

答案 0 :(得分:1)

为什么不直接将数组传递给execute方法?或者使用bindValue

$stmt = $pdo -> prepare('INSERT INTO table SET k1=:v1, k2=:v2');
$stmt -> execute(array(
    'v1' => $v1,
    'v2' => $v2,
));

$stmt = $pdo -> prepare('INSERT INTO table SET k1=:v1, k2=:v2');
$stmt -> bindValue('v1', $v1);
$stmt -> bindValue('v2', $v2);
$stmt -> execute();