我正在使用$ 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