Php 添加到现有的db值,而不是覆盖-PDO
我正在尝试添加到表中现有的十进制值,我使用下面的sql:Php 添加到现有的db值,而不是覆盖-PDO,php,sql,pdo,Php,Sql,Pdo,我正在尝试添加到表中现有的十进制值,我使用下面的sql: UPDATE Funds SET Funds = Funds + :funds WHERE id = :id 我使用一个pdo类来处理我的db调用,下面的方法被用来更新db,但是我不知道如何修改它来输出上面的查询,有什么想法吗 public function add_to_values($table, $info, $where, $bind="") { $fields = $this->filter($table, $i
UPDATE Funds SET Funds = Funds + :funds WHERE id = :id
我使用一个pdo类来处理我的db调用,下面的方法被用来更新db,但是我不知道如何修改它来输出上面的查询,有什么想法吗
public function add_to_values($table, $info, $where, $bind="") {
$fields = $this->filter($table, $info);
$fieldSize = sizeof($fields);
$sql = "UPDATE " . $table . " SET ";
for($f = 0; $f < $fieldSize; ++$f) {
if($f > 0)
$sql .= ", ";
$sql .= $fields[$f] . " = :update_" . $fields[$f];
}
$sql .= " WHERE " . $where . ";";
$bind = $this->cleanup($bind);
foreach($fields as $field)
$bind[":update_$field"] = $info[$field];
return $this->run($sql, $bind);
}
公共函数将_添加到_值($table,$info,$where,$bind=”“){
$fields=$this->filter($table,$info);
$fieldSize=sizeof($fields);
$sql=“更新”。$table。“设置”;
对于($f=0;$f<$fieldSize;++$f){
如果($f>0)
$sql.=“,”;
$sql.=$fields[$f]。“=:update.'$fields[$f];
}
$sql.=“WHERE”.$WHERE.;“;
$bind=$this->cleanup($bind);
foreach($fields作为$field)
$bind[“:update_$field”]=$info[$field];
返回$this->run($sql,$bind);
}
您是否被迫使用此功能?为什么不只运行一个常规的PDO查询呢?理想情况下,我可以使用这个函数,但我想我可以更改它。您的类中是否有运行查询的通用方法?只是一个带参数的查询类似于$db->query($query,$array)
。如果没有,你最好开始做