我正在使用$ table参数和$ cols(作为数组)参数的插入函数。 其插入到指定表给出的值:PHP函数数组参数操作
$db->query("insert into $table({$cols[0]},{$cols[1]}) values('{$_POST[{$cols[0]}]}','{$_POST[{$cols[1]}]})");
这都是很好的,除了我做的阵列不了多久。这个怎么做??
我正在使用$ table参数和$ cols(作为数组)参数的插入函数。 其插入到指定表给出的值:PHP函数数组参数操作
$db->query("insert into $table({$cols[0]},{$cols[1]}) values('{$_POST[{$cols[0]}]}','{$_POST[{$cols[1]}]})");
这都是很好的,除了我做的阵列不了多久。这个怎么做??
有一件事是逃脱使用正确的逃逸机制的SQL你没有这样做。
$postCols = $_POST['cols'];
foreach($postCols as &$col) {
$col = '"' . mysql_real_escape_string($col) . '"';
}
$db->query("insert into $table(" . implode(',', $cols) . ") values(" . implode(',', $postCols . ");
我只想用一些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;
?>
就是这样。非常感谢 – 2011-03-27 23:39:30
哈哈,我一直在使用C#。完全忘记了内爆功能。你的代码更清洁。 – Ben 2011-03-27 23:40:54
看起来不错,只记得逃避价值观,并用引号将它们包装起来。 '$ escAndQuote =函数($ x){return“'”。 mysql_real_escape($ x)。 “'”;}; $ colVals = array_map($ escAndQuote,$ _POST ['cols']);' – 2011-03-27 23:42:59
@jon_darkstar好想法。我应该编辑它。 – alex 2011-03-27 23:50:10