我是C的新手,但我目前正在开发一个项目,我有一个编译器警告,但我看不出问题是什么,或者我怎么能修复它。
我正在执行一个mysql查询然后存储结果但是当我尝试获取要存储在MYSQL_ROW中的行时,我得到以下编译警告
警告:从不兼容的指针类型
分配
以下是我如何运行查询并存储结果
int processDrilldownData(char **reportParameterArray, FILE *csvFile, char *sql, MYSQL *HandleDB, MYSQL_RES *resultReport, MYSQL_ROW rowReport, int UserLevel, int ParentUserLevel, char *CustomerDisplayName, Restrictions *reportRestrictions, int totalLookupNumberCount, numberLookupStruct *numberLookup, int maximumLookupChars, char * statsOutputTable, int targetNumber, FILE * sqlDebugFile)
{
MYSQL_RES * audioResult = NULL;
MYSQL_ROW * audioRow = NULL;
sqlLen = asprintf(&sql, "SELECT Tmp.SwitchID, Tmp.CorrelationID, SUM(IF(Direction=2,1,0)) as SSPAudio, "
"SUM(IF(Direction=1,Duration/100,0)) as SSPAudioDur FROM %s AS Tmp GROUP BY Tmp.SwitchID, "
"Tmp.CorrelationID ORDER BY Tmp.SwitchID, Tmp.CorrelationID, Direction, SeizeUTC, SeizeCSec",
statsOutputTable);
if ((mysql_real_query(HandleDB, sql, sqlLen))) return 1;
audioResult = mysql_store_result(HandleDB);
audioRow = mysql_fetch_row(audioResult);
}
感谢您提供的任何帮助
答案 0 :(得分:1)
错误消息来自mysql_fetch_row()
而不是mysql_store_result()
。 mysql_fetch_row
会返回MYSQL_ROW
,请注意丢失的*
。
因此声明必须看起来像
MYSQL_ROW audioRow;