From a83baad1d0cda46e1619fa737a3cf18cb97a248b Mon Sep 17 00:00:00 2001 From: INADA Naoki Date: Mon, 5 Sep 2016 01:16:12 +0900 Subject: [PATCH] Use mysql_real_escape_string_quote() if exists. --- _mysql.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/_mysql.c b/_mysql.c index 9950761..ae7306e 100644 --- a/_mysql.c +++ b/_mysql.c @@ -1063,10 +1063,15 @@ _mysql_escape_string( if (self && PyModule_Check((PyObject*)self)) self = NULL; - if (self && self->open) + if (self && self->open) { +#if MYSQL_VERSION_ID >= 50706 + len = mysql_real_escape_string_quote(&(self->connection), out, in, size, '\''); +#else len = mysql_real_escape_string(&(self->connection), out, in, size); - else +#endif + } else { len = mysql_escape_string(out, in, size); + } if (_PyBytes_Resize(&str, len) < 0) return NULL; return (str); } @@ -1117,7 +1122,11 @@ _mysql_string_literal( out = PyBytes_AS_STRING(str); check_server_init(NULL); if (self && self->open) { +#if MYSQL_VERSION_ID >= 50706 + len = mysql_real_escape_string_quote(&(self->connection), out+1, in, size, '\''); +#else len = mysql_real_escape_string(&(self->connection), out+1, in, size); +#endif } else { len = mysql_escape_string(out+1, in, size); }