PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
The fact that you have a hanging AND is going to cause problems for sure. I'd also advise against storing the prices that way; numeric values is a better idea and you can prepend the currency symbol on output. The way you've got things structured is also potentially problematic; your query is only defined if $where_clause contains values, which is fine, but you're trying to execute the query regardless. Finally, what happens if price isn't defined?