CGI程序对sqlite数据库进行查询,并将查询结果返回HTML页面?急急急!!!
我写了下面的cgi程序,想实现当点击页面上的查询温度按钮并提交后,通过CGI程序对sqlite数据库查询并将查询结果返回到HTML页面,但总没有结果,是怎么回事???
int main()
{
sqlite3 *db = NULL;
char *zErrMsg = 0;
char **azResult;
char *sql;
int rc;
int nrow = 0, ncolumn = 0, m = 0;
printf("Content-type: text/html\n\n");
printf("<html><head><title>Current State</title></head>\n");
printf("<h2>Current State As Follows:</h2><hr>\n");
/**************************cgi part************************/
char *data;
data=getenv("QUERY_STRING");
if(strstr(data,"V1"))
{
/*********************open database*********************/
sql = "SELECT * FROM wendu;";
rc = sqlite3_open ("part1.db", &db);
if (rc)
{
fprintf (stderr, "Can't open database: %s\n", sqlite3_errmsg (db));
sqlite3_close (db);
exit (1);
} else
printf("Wendu Lists:\n");
sqlite3_get_table (db, sql, &azResult, &nrow, &ncolumn, &zErrMsg);
if(rc!=SQLITE_OK)
fprintf(stderr,"SQL error:%s\n%s\n",zErrMsg,sql);//如果不执行不成功的话,会报错
else
{
printf ("row:%d column=%d \n", nrow, ncolumn);
printf ("\nThe result of querying is : \n");
for( m=0 ; m<( nrow + 1 ) * ncolumn ; m++ )
printf( "azResult[%d] = %s\n", m , azResult[m] );
sqlite3_free_table(azResult);
sqlite3_close(db);
}
}
printf("</body></html>\n");
exit(0);
}