매우 신중하지 않는 한 가능하지만 권장하지는 않습니다. 이 루프 접근 방식을 안전하게 만드는 것은 모든 양식 필드에 대해 모든 입력 작업을 수행하는 데 많은 시간을 소비 할 수 있지만 솔루션은 더 강력하고 모듈 식입니다. ,
$validator = array(
'user_name' => array('mask' => "'%s'", 'escape' => true, 'boolean' => false),
'user_age' => array('mask' => "%d", 'escape' => false, 'boolean' => false),
'has_car' => array('mask' => "%d", 'escape' => false, 'boolean' => true)
);
그런 다음이 검증 배열을 반복하고, 키가 게시 된 데이터에 존재하는지 확인하십시오
당신은, 매핑 배열 느릅 나무의 유효성 검사 및 특정 값을 포맷에 대한 지침이 포함되어 같은 것을 만들어야합니다 별도의 배열에있는 모든 SQL 세트를 값에 지시어를 적용하고 수집 :
$set = array();
foreach ($_POST as $key => $dirs)
{
if ($dirs['boolean'])
{
$val = isset($_POST[$key]) ? 1 : 0;
$set[] = sprintf("%s=".$dirs['mask'],$key,$val);
}
elseif (isset($_POST[$key]))
{
$val = $dirs['escape'] ? addslashes($_POST[$key]) : $_POST[$key];
$set[] = sprintf("%s=".$dirs['mask'],$key,$val);
}
}
을이 후에는 쿼리를 만들 수있는 세트 내파에 의해 :
를
$sql = "INSERT INTO table SET ".implode(",",$set);
위의 접근 방법은 실제로 필요한 것은 아니지만 서버 측에서 대형 양식을 처리하는 데 사용할 수있는 개념입니다. 보다 복잡한 유효성 검사를 정의하고이 예제와 같은 확인란 및 텍스트 필드뿐만 아니라 배열을 처리하도록 할 수 있습니다.
귀하의 양식은 항상 귀하의 귀중한 데이터에 대한 문이며, 값이 싸면 미안합니다!
당신이 당신의 현재 코드를 제공 할 수 있습니다 :
여기 완전히 검증되지 않은 예입니다? 그리고 데이터베이스가 어떻게 보이는지, 실제로 100 개의 열이있는 테이블인지 또는 값이 별도의 행으로 삽입되어야하는지 여부입니다. – TJHeuvel