関数と配列を使用してデータをmysqlテーブルに投稿する簡単な関数を作成しました。配列は、フォーム上の$_POSTアイテムから作成されます。私が知りたいのは、私が見ていない潜在的なセキュリティホールはありますか?
関数は次のとおりです。
public function add_sql_data($table,$array){
$tot = count($array);
$c=0;
foreach($array as $k => $v){
$fields = $fields.$k;
$values = $values."'".$v."'";
$c++;
if($c < $tot){
$fields = $fields.",";
$values = $values.",";
}
}
$sql = "INSERT INTO ".$table."(".$fields.") values(".$values.")";
if (mysql_query($sql)){
return "succesfull";
}else{
return "error";
}
}
SQLインジェクションを作成するために知っている少量のPHPを使用しようとしましたが、配列が実際に実行する有害な構文を停止していることがわかります。ありがとう!!