反正是char型的变量都要加上'',这是约定。
mysql_query(INSERT INTO table() values('ch',……) 
-----
你这样写插入的不应该是ch变量的值,应该是ch值吧~

解决方案 »

  1.   

    只要把字符串修改成变量他就会报错。
    比如:you have errror in your sql syntax "&ch,now())"
    或者  unkonw column 'ch' in(field list)
      

  2.   

    mysql_query(mysql_handler,"insert into table_1(..,..) values('a',..)");
    mysql_query第2个参数要求字符串,看看API呀
      

  3.   

    mao_kern()
      谢谢指点,我看了API,可是还没有看明白。
      书上的API例子都是插入值,没有调用变量的!
      

  4.   

    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. 
      

  5.   

    这样组装一下:
    char  buffer[256];
    memset(buffer, 0, sizeof(buffer));
    sprintf(buffer, "INSERT INTO table() values('%c')", ch);
    mysql_query(buffer);