That makes sense to me, but I don't think it's true. If I put the variable in single-quotes the script just crashes. It works well now - it's in double-quotes, but the selection is definitely using the value of the variable, not the literal string.
As for the use of "LIKE", some of the zipcodes in the database are 9-digit, the wildcard is necessary to catch them.
Thanks,
~kyle