我正在尝试创建一个使用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生成这些代码行?
如果有任何问题请告诉我。
答案 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();