No need for escaper here. bindValue() does its own escaping. FieldEscaper is only for if you want to put a value into a query string directly. (This would explain why you needed to remove ' from the values -- see my later comment)