我想使用 mysql_real_escape_string 来处理撇号、反斜杠等。我搜索并找到了这个函数
unsigned long mysql_real_escape_string(MYSQL *mysql,
char *to, const char *from, unsigned long length)
但这需要 MYSQL *,但我使用此代码进行连接:
sql::Driver *driver;
sql::Connection *con;
sql::Statement *stmt;
// Create a connection
driver = get_driver_instance();
con = driver->connect("tcp://127.0.0.1:3306", "root", "anubha");
con->setSchema("db");
stmt = con->createStatement();
因此,如果我没有函数所需的 MYSQL *mysql 对象。如果我这样做连接:
MYSQL* conn = mysql_init(NULL);
mysql_real_connect(conn,"tcp://127.0.0.1:3306", "root",
"anubha", "db" ,0,NULL,0);
然后,因为我有 MYSQL* 对象,所以我可以使用该函数,但我是否应该更改连接代码以使用此函数。没有其他功能可用吗?另外这两种连接方式有什么区别,是 C 与 C++ mysql 连接器 api 的区别吗?