2017-05-01 1 views
0

코드 : 데이터베이스에서id 텍스트 필드의 값이 형식이 아닌 경우 오류 메시지를 표시하는 방법은 무엇입니까?

if(isset($_POST["add"])) 
{ 
extract($_POST); 

$facilities = $_POST['facilities']; 
$chk=""; 

foreach($facilities as $chk1) 
{ 
    $chk .= $chk1.","; 
} 

$exam = $_POST['exam']; 
$chks=""; 

foreach($exam as $chked) 
{ 
    $chks .= $chked.","; 
} 

    $filename = $_FILES['college_image']['name']; 
    $path = "college_banner/"; 
    $move=move_uploaded_file($_FILES['college_image']['tmp_name'],$path.$_FILES['college_image']['name']); 

    $filename2 = $_FILES['logo']['name']; 
    $path2 = "college_logo/"; 
    $move=move_uploaded_file($_FILES['logo']['tmp_name'],$path2.$_FILES['logo']['name']); 

echo "insert into all_colleges(college_name,establish,approve,affiliated,address,website,about_us,city,courses,logo,college_image,phone,field,tag,video1,video2,facilities,courses_fee,short_name,state,exams,form_fee,college_commission,client_commission,form_type)values('$name','$establish','$approve','$affiliated','$address','$website','$about_us','$city','$course','$filename2','$filename','$phone2','$field','$tag','$video1','$video2','$chk','$fee','$short','$state','$chks','$form_fee','$college_commission','$client_commission','$form_type')"; 
$result = mysqli_query($link,$sql2); 
if($result == true) 
{ 
    $msg .= "<h5 style='color:green;'>Successfull</h5>"; 
} 
else 
{ 
    $msg .= "<h5 style='color:red;'>Error</h5>"; 
} 
} 

나는 college_id 즉 AUTO_INCREMENT로 ID를 가지고 있지만 내가 college_id을 통해 AUTO_INCREMENT를 제거 할 때 그것은 성공적인 메시지를 표시 할 때 추가 버튼 대신 오류를 클릭합니다. 그렇다면이 문제를 어떻게 해결할 수 있습니까?

당신은

+0

[mysqli_affected_rows()] (http://php.net/manual/en/mysqli.affected-rows.php)를 사용하십시오. 마지막 INSERT 쿼리의 영향을받는 행 수를 반환합니다. – Saty

답변

0

그것이 AUTO_INCREMENT 다음은 PRIMARY KEY을해야하는 경우 college_id 그냥 확인 당신과 함께 중요하지 않습니다 감사합니다.

그리고 SQL 쿼리에 당신은 그래서 당신은 같은 하나의 명령문에서 확인할 값을 루프를 사용하지 않고 implode()을 사용할 수 있습니다

echo $sql2 = "insert into all_colleges ..."; 
//---^ assign query in $sql2 
$result = mysqli_query($link,$sql2); // <-- you are passing $sql2 

한 가지 더를 사용하여 $sql2 변수에 쿼리를 할당하지 않는

$chk= = implode(',',$_POST['facilities']); 
관련 문제