下面的代碼應該檢查表的列名。然後檢查相應的變量是否已經是$ _POST,並且是否已經將它添加到$ SQL。我相信這個數組有一個問題,它包含一系列數組,但我不知道如何去定義它。PHP - >使用Foreach數組合並的PDO更新函數
$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');
之外的其他作品。
** SQL注入警報!** –