I count about 6 if statements in your code. It would be helpful if you were more concise in describing your problem. I assume you mean this one:
if (!stripos($LineArray[0], 'Prov', 0))
You are asking us why this isn't doing what you want when we have no idea what is in your data file? Have you bothered to verify what $LineArray[0] is? You might find some echo statements useful.
From what I can tell, it looks like you are trying to check the first column of the data row that you have just read from your CSV file to see if it contains the string 'prov'. If you were to RTFM on [man]stripos[/man], you would see its return values described:
The Friendly PHP Manual wrote: Returns the position of where the needle exists relative to the beginnning of the haystack string (independent of offset). Also note that string positions start at 0, and not 1.
Returns FALSE if the needle was not found.
The important part of that manual entry is where it says "note that string positions start at 0, and not 1".
Now, imagine that $LineArray[0] starts with Prov. In that case, stripos($LineArray[0], 'Prov', 0) would return zero in which case the code in your if block would be executed. This would also be executed if $LineArray[0] does not contain 'Prov' at all (stripos would return FALSE in that case).
Given that you have not described to us the contents of $LineArray[0] nor have you described the conditions under which you want the insert command to be executed, we are probably not going to be able to help much.