22.2.3.50. mysql_query() int mysql_query(MYSQL *mysql, const char *query) Description Executes the SQL query pointed to by the null-terminated string query. Normally, the string must consist of a single SQL statement and you should not add a terminating semicolon (‘;’) or \g to the statement. If multiple-statement execution has been enabled, the string can contain several statements separated by semicolons. See Section 22.2.9, “C API Handling of Multiple Query Execution”. mysql_query() cannot be used for queries that contain binary data; you should use mysql_real_query() instead. (Binary data may contain the ‘\0’ character, which mysql_query() interprets as the end of the query string.) If you want to know whether the query should return a result set, you can use mysql_field_count() to check for this. See Section 22.2.3.22, “mysql_field_count()”. Return Values Zero if the query was successful. Non-zero if an error occurred.
比如:you have errror in your sql syntax "&ch,now())"
或者 unkonw column 'ch' in(field list)
mysql_query第2个参数要求字符串,看看API呀
谢谢指点,我看了API,可是还没有看明白。
书上的API例子都是插入值,没有调用变量的!
int mysql_query(MYSQL *mysql, const char *query) Description Executes the SQL query pointed to by the null-terminated string query. Normally, the string must consist of a single SQL statement and you should not add a terminating semicolon (‘;’) or \g to the statement. If multiple-statement execution has been enabled, the string can contain several statements separated by semicolons. See Section 22.2.9, “C API Handling of Multiple Query Execution”. mysql_query() cannot be used for queries that contain binary data; you should use mysql_real_query() instead. (Binary data may contain the ‘\0’ character, which mysql_query() interprets as the end of the query string.) If you want to know whether the query should return a result set, you can use mysql_field_count() to check for this. See Section 22.2.3.22, “mysql_field_count()”. Return Values Zero if the query was successful. Non-zero if an error occurred.
char buffer[256];
memset(buffer, 0, sizeof(buffer));
sprintf(buffer, "INSERT INTO table() values('%c')", ch);
mysql_query(buffer);