php函数数组参数操作

时间:2011-03-27 23:30:51

标签: php

我正在制作插入函数,它接受$ table参数和$ cols(作为数组)参数。 它在给定的表中插入给定的值:

$db->query("insert into $table({$cols[0]},{$cols[1]}) values('{$_POST[{$cols[0]}]}','{$_POST[{$cols[1]}]})");

这一切都很好,除了我没有多长时间。该怎么做??

2 个答案:

答案 0 :(得分:5)

您还没有做的一件事是使用正确的转义机制来转义SQL。

$postCols = $_POST['cols']; 

foreach($postCols as &$col) {
    $col = '"' . mysql_real_escape_string($col) . '"';
}

$db->query("insert into $table(" . implode(',', $cols) . ") values(" . implode(',', $postCols . ");

答案 1 :(得分:2)

我会使用一些foreach循环

<?php
  $sql = "INSERT INTO $table (";
  foreach ($cols as $col)
      $sql .= "`$col`,";
  $sql = substr($sql,0,-1);
  $sql .= ") VALUES(";
  foreach ($cols as $col)
      $sql .= "'".$_POST[$col]."',";
  $sql = substr($sql,0,-1);
  $sql .= ");";

  echo $sql;
?>