Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So übergeben Sie eine Variable in mysql_query

Um die Antwort von @ckruse zu erweitern, sollten Sie darauf achten, mysql_real_escape_string() wenn Ihr String aus beliebigen Quellen stammt.

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

(Eine Alternative könnte mysql_hex_string() wenn richtig damit umgegangen wird.)