Mysql
 sql >> Database >  >> RDS >> Mysql

Come passare la variabile in mysql_query

Estendendo la risposta di @ckruse, dovresti fare attenzione a usare mysql_real_escape_string() se la tua stringa proviene da fonti arbitrarie.

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

(Un'alternativa potrebbe essere mysql_hex_string() se trattati correttamente.)