我們知道SQL在字串insert的時候需要 ’ ’ 在指定在其中是字串型態 可是如果在要insert的字串之中出現該字元,將會導致原本的insert失敗 此時我們可以用以下的function去將該字串脫逸掉

std::string escapeString(const char *pStr) {     
	char *tStr = new char[strlen(pStr)*2+1];    
	mysql_real_escape_string(conn, tStr, pStr, strlen(pStr));    
	string retStr(tStr);    
	delete [] tStr;   
	return retStr; 
} 

呼叫時: string es = escapeString(“It’s a te’st~‘測’試”); string SQL = “insert into test(t) values(’”; SQL.append(es); SQL.append(”’)”);

mysql_query(conn, “SET NAMES ‘big5’”);

if (mysql_query(conn, SQL)==0){
	return true;//insert成功
}else{
             fprintf(stderr, "Failed to insert row, Error: %s\n", mysql_error(conn));
	return false;
}

參考:http://stackoverflow.com/questions/1814269/c-mysql-c-api-mysql-real-escape-string