为什么mysql pdo update query不更新表中的数据?

g2ieeal7  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(181)

这里还有一个关于mysql pdo更新语法的问题。我已经在不同资源(如stackoverflow)中搜索了以前发布的问题,但仍然找不到我的查询工作!这里需要帮助。

$allowed = array("col1","col2","col3");
  $values = $_POST['id'];

  $sql = "UPDATE mytable SET ".pdoSet($allowed,$values)." WHERE 
  id=?";
  $stmt = $pdo->prepare($sql); 
  $stmt->execute([$values]);

更新#1。
添加了my pdoset()函数;
很少编辑以前的代码片段,特别是查询中更改的id=:id部分。

function pdoSet($allowed, &$values) {
 $set = '';
 $values = array();
   foreach ($allowed as $field) {
      $set.="`".str_replace("`","``",$field)."`". "=:$field, ";
   }
return substr($set, 0, -2); 
}

$allowed = array("col1","col2","col3");
$values["id"] = $_POST['id'];

$sql = "UPDATE mytable SET ".pdoSet($allowed,$values)." WHERE id=:id";
$stmt = $pdo->prepare($sql); 
$stmt->execute($values);

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题