depending on the version of MySQL there may be a table level lock in effect. In short, a table may be locked if there is already an insert/update/delete/select running against that table. The lock is usually in effect untill a transaction is completed, or the UNLOCK command is issued. If you designed the table and have full control over it then I assume you do not have any locks on the table. Otherwise you would not be asking about what locking is. I also assume that MySQL does't use automatic locking.
In addition to the above, I have no clue what your problem may be
How about trying this:
"INSERT INTO FILE VALUES ('A0004','Nokia','38','Accessories','image/item/A0003.gif','Nokia Phone','Information')";
Notice no field names.
This should work if the number of values is exactly the same as the number of fields in the table, and if the datatypes of fields coincide with respective fieldds data types
Also, debugging the SQL on the command line level, as opposed to wrapping SQL in PHP, may help you better diagnose the reason of the failure.