in reply to Using placeholders, getting unexpected SQL errors

It should be ok as long as cust_phsx is a text type field with space for 4 characters. However as I expect might be the case it is a number type ( int or float etc ) of field and space is not legal.

Alternately since the database field is a number type, DBI is doing no escaping and your query is actually .... VALUES ( 3048770, 2, 3, 704,  53, 2 89, 45 ); which will appear to the SQL parser to be a missing comma between the 2 and the 89

If either of these hold, then you will have to clean up the numbers before handing them to the query. If the field was a text type DBI would change it to "2 89" which would be ok, but not for a number type of field.

Update: corrected the text in the query to have the correct numbers and added a code tag to make the spaces show up better.