下面的函数读取来自外部机器的缓冲,用strtok的我得到了一些标记,我需要和printf的我有一些结果一样插入变量值到MySQL表
Results1: 12, 23.345, 2.34, 23.45, 5.67
我想保存这些导致一个称为结果的Mysql表,但我不知道在我的查询中在VALUES()内写什么。我如何插入resa,resb,resc,resd,rese?
for (;;)
{
char buff[1000];
n=read(fd,buff,1000);
sleep(1);
char resa[25] = "", resb[25] = "", resc[25] = "", resd[25] = "", rese[25] = "";
char* ptr;
ptr = strtok(buff, "+PARAMETERS()\nsYSTEM ,=M:DK:RT:PTT()");
int i = 0;
while (ptr != NULL)
{
ptr = strtok(NULL, "+PARAMETERS()\nsYSTEM ,=M:DK:RT:PTT()");
if (i == 2)
strcat(resa, ptr);
if (i == 5)
strcat(resb, ptr);
if (i == 6)
strcat(resc, ptr);
if (i == 8)
strcat(resd, ptr);
if (i == 10)
strcat(rese, ptr);
i++;
}
printf("Results1: %s, %s, %s, %s, %s\n\n", resa,resb,resc,resd,rese);
if(mysql_query(conn, "INSERT INTO results VALUES(...)"))
{
fprintf(stderr, "%s\n", mysql_error(conn));
return -1;
}
res = mysql_use_result(conn);
}
Duplicate(?):http://stackoverflow.com/questions/6210506/insert-client-input-into-mysql-database-with-c?rq=1 – fab