Просто чтобы добавить к предложению @skaffman, PreparedStatements решает проблему для большинства приложений. Однако в некоторых приложениях (части) операторов SQL (в отличие от просто значений параметров) берутся из пользовательского ввода (например, параметр URL, содержащий предложение ORDER BY). Просто убедитесь, что вы их дезинфицируете или, что еще лучше, избегайте таких конструкций, если это возможно.