拼接insert字符串啊   

解决方案 »

  1.   

    能具体点吗,我看了一本书是用strcat,但就是实现不了
      

  2.   

    char *sql;
    char bookname[50];
    char id[10];
    char dest[100]={" "}; printf("请输入要查询的id:"); scanf("%s",id);
    sql="select * from tb_book where ID=";
    strcat(dest,sql);
    strcat(dest,id);
    mysql_query(&my_connection,dest);这样差不多,刚弄好
      

  3.   

    我说的是想把函数:mysql_query(conn, "INSERT INTO wifi_infor VALUES(‘A’,‘B’,‘C’)");中的参数A,B,C换成参数:A换成:headmsg->ap_name,B换成:headmsg->mac_address,C换成:headmsg->bssid???
    或者是我想用数据结构中的元素,当作参数传递到mysql_query中作为插入表的数据,该怎么写??求哪位大虾帮忙。。
      

  4.   

    char buffer[255];
    sprintf(buffer,"INSERT INTO wifi_infor VALUES(‘%s’,‘%s’,‘%s’)",str1,str2,str3);
    mysql_query(buffer);
      

  5.   

    或者绑定变量,官网例子:
     MYSQL_TIME  ts;
      MYSQL_BIND  bind[3];
      MYSQL_STMT  *stmt;  strmov(query, "INSERT INTO test_table(date_field, time_field,
                                            timestamp_field) VALUES(?,?,?");  stmt = mysql_stmt_init(mysql);
      if (!stmt)
      {
        fprintf(stderr, " mysql_stmt_init(), out of memory\n");
        exit(0);
      }
      if (mysql_stmt_prepare(mysql, query, strlen(query)))
      {
        fprintf(stderr, "\n mysql_stmt_prepare(), INSERT failed");
        fprintf(stderr, "\n %s", mysql_stmt_error(stmt));
        exit(0);
      }  /* set up input buffers for all 3 parameters */
      bind[0].buffer_type= MYSQL_TYPE_DATE;
      bind[0].buffer= (char *)&ts;
      bind[0].is_null= 0;
      bind[0].length= 0;
      ...
      bind[1]= bind[2]= bind[0];
      ...  mysql_stmt_bind_param(stmt, bind);  /* supply the data to be sent in the ts structure */
      ts.year= 2002;
      ts.month= 02;
      ts.day= 03;  ts.hour= 10;
      ts.minute= 45;
      ts.second= 20;  mysql_stmt_execute(stmt);