Avoiding Nightmares: Safe SQL Practices