in reply to A DBI Query Binding Pitfall

Simple (kinda) rule: placeholders replace literal values (like 7 or 'fudge'), that would vary each time a specific SQL statement is run. Changing the names of tables or columns (or adding and subtracting where clauses) creates new SQL statements, which must be prepared separately.