无论数据库中是否存在,mysql_query总返回0
代码如下:
MYSQL *pData = mysql_init((MYSQL*) 0);
MYSQL_ROW row;
MYSQL_RES *result;
void queryMysql();
void test()
{
pData=mysql_real_connect(pData,"localhost", "root","123456","testData",0,0,0);
if(!pData)
{
::MessageBox(NULL,(LPCTSTR)"Failed",(LPCTSTR)"link mysql",0);
return;
}
else
{
mysql_query(pData,"set names gbk");
}
while(1) //test
{
queryMysql();
}
mysql_close( pData);
}
// 子函数
void queryMysql()
{
int flag =0;
if(pData)
{
flag = mysql_query(pData,"select id,price from product where productName='产品1';");
result = mysql_use_result(pData);
if(result)
{
while((row = mysql_fetch_row( result))!=0) // {
file<<row[0]<<" ,"<<row[1]<<"\t<<"\n";
}
}
mysql_free_result( result ) ;
}
}
问题:
1)无论数据库里是否含有所查询内容,flag均返回0,即查询成功,不应该啊。。。
2)虽然flag=0,若数据库确无此产品,则row=0;反之,row有值,且输入到file的结果与数据库一致
3)当flag = mysql_query(pData,"select id,price from duct where productName='产品1';");即无duct表时,返回1,即错误.
不知道为什么会出现以上两个问题,望高手指点,谢谢~