问题:运行一段几天后,mysql_query就返回错误了.
执行语句也似乎没有问题,错误日志中记录的执行代码类似:select * from password where id='66666666'
急待高手
代码如下:
{
// TODO: Add extra validation here
char *host = "localhost";   
    char *user = "root";   
    char *pass = "";//130320 安装时没有设置密码,所以是空的   
    char *db = "cameraid"; 
int rval = -1;
//char sqlcmd[100];
char sqlcmd[100]="select * from password where id='";       //查询语句
strcat(sqlcmd,camId);
if(camPsw != NULL){
strcat(sqlcmd,"' and psw='");
strcat(sqlcmd,camPsw);
}
strcat(sqlcmd,"'");
    //AfxMessageBox( sqlcmd);   
    MYSQL *sock;   
    MYSQL_RES *results;   
    MYSQL_ROW record;   
    sock = mysql_init(0);   
    if (sock){         
if (mysql_real_connect(sock, host, user, pass, db, 0, NULL, 0)){//连接数据库 
if(rval=mysql_query(sock,sqlcmd))  //从表中选取对应ID的列。  "select * from jihua_info where vip='"; 130608 记录错误代码
{   
}else{
results=mysql_store_result(sock);
if ((record = mysql_fetch_row(results))) {
rval = 0;//密码正确
}else{
rval = 2;//用户名或者密码不正确
}
}
}else {     
}     
mysql_close(sock);

}else    
    {   
        AfxMessageBox( "sock handle failed!");
    } 
if(rval){
CString strText;
CTime tm = CTime::GetCurrentTime(); 
lastrcvtime = tm.GetTime();
strText.Format("%s,%s,%s,rval=%d,%s *%d %d:%d:%d\n",host,user,db,rval,sqlcmd,tm.GetDay(),tm.GetHour(),tm.GetMinute(),tm.GetSecond()); SaveErrorfile("errorfile.txt",(LPSTR)(LPCTSTR)(strText),strText.GetLength());//LPSTR
}
return rval;//}