以下代码应该检查表的列名。然后检查相应的变量是否已为 $_POST 以及是否已将其添加到 $SQL。我相信包含一系列数组的数组存在问题,但我不知道如何解决它。
$where = $_POST['where'];
$is = $_POST['is'];
$table = $_POST['table'];
$sql = "UPDATE $table SET";
$array = array();
$columnnames = columnnames('blog');
foreach ($columnnames as $columnname){
if($_POST[$columnname]){
$sql .= " $columnname = :$columnname,";
$array .= array(':$columnname' => $_POST[$columnname],);
}
}
$sql = rtrim($sql,',');
$array = rtrim($array,',');
$sql .= " WHERE $where = '$is'";
$q = $rikdb->prepare($sql);
$q->execute($array);
为了理解起见,请除了它的$columnnames = columnnames('blog');
工作原理。