Right but what I'm trying to say is your insert code will run anytime $flag_pic is NOT EQUAL to '1' and in your while loop you are incrementing $flag_pic by 1 anytime the image name and pic exist.
This is done four times in the while loop, which is fine, except in your IF (for inserting) you are saying if (flag_pic ne '1'). You need to check if ($flag_pic == 0) because $flag_pic is not equal to 1 if it equals 0 (which is what you are looking for) but it's also not equal to 1 if it equals 2,3 or 4 ... etc. Does that make sense?
Try updating the code and see if it helps please.