sql >> Base de Datos >  >> RDS >> Mysql

Cómo pasar variable en mysql_query

Extendiendo la respuesta de @ckruse, debe tener cuidado de usar mysql_real_escape_string() si su cadena proviene de fuentes arbitrarias.

int insert_data(MYSQL * mysql, char * str, int len)
{
    if (len < 0) {
        len = strlen(str);
    }

    char esc[2*len+1];
    unsigned long esclen = mysql_real_escape_string(mysql, esc, str, len);

    char statement[512];
    snprintf(statement, sizeof statement, "INSERT INTO table VALUES ('%s')", esc);
    return mysql_query(mysql, statement);
}

(Una alternativa podría ser mysql_hex_string() si se trata correctamente.)