我正在寻找构建一个函数,该函数将动态生成 SQL 并使用 PDO 和准备好的语句执行它,而无需对列名/where 子句进行硬编码。where 子句“卡路里”和“颜色”下面的示例是硬编码的,如果情况需要,我希望能够添加其他标准以及更少或没有 where 子句的功能。
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array($calories, $colour));
这是一个插入函数,它允许您动态传递我创建的值。
public function insert($table,$columnValueArray){
$columns = implode(",",array_keys($columnValueArray));
$sql = "INSERT INTO ".$table." (?) VALUES (?)";
$sth = $conn->prepare($sql);
foreach($columnValueArray as $singleArray){
$values = implode(",",$singleArray);
$sth->execute(array($columns),$values);
}
}
我想要一个与此类似的函数来创建一个更新函数,问题是更新函数需要一个 where 子句,它可以为数组中的每一行更改