【发布时间】:2013-07-22 16:31:01
【问题描述】:
以下代码用于检查表的列名。然后检查相应的变量是否已为 $_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'); 的工作原理。
【问题讨论】:
-
SQL 注入警报!
标签: php arrays pdo sql-update