Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment passer une variable dans mysql_query

En prolongeant la réponse de @ ckruse, vous devez prendre soin d'utiliser mysql_real_escape_string() si votre chaîne provient de sources arbitraires.

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);
}

(Une alternative pourrait être mysql_hex_string() s'il est traité correctement.)