我用linux C连接MYSQL 代码:
sprintf(query,"select * from guser where (g_name='刘尧' or e_nam e='刘尧' or t_name='刘尧') and g_id in (select g_id from guser where g_tel='15049616161')");
if(!mysql_query(my_conn,query))
{
ress=mysql_use_result(my_conn);
while((roww=mysql_fetch_row(ress))!=NULL)
{
strcpy(liu,roww[5]);
printf("%s,%d\n",row[3],liu[0]);
}
mysql_free_result(ress);
}
应该有两条记录g_id分别为1和2,如果是一条记录就可以成功执行,两条就会报错“段错误”。同样的用“IN”的那条SQL语句在PHP里就可以成功执行(无论有几条记录)这是怎么回事?
sprintf(query,"select * from guser where (g_name='刘尧' or e_nam e='刘尧' or t_name='刘尧') and g_id in (select g_id from guser where g_tel='15049616161')");
if(!mysql_query(my_conn,query))
{
ress=mysql_use_result(my_conn);
while((roww=mysql_fetch_row(ress))!=NULL)
{
strcpy(liu,roww[5]);
printf("%s,%d\n",row[3],liu[0]);
}
mysql_free_result(ress);
}
应该有两条记录g_id分别为1和2,如果是一条记录就可以成功执行,两条就会报错“段错误”。同样的用“IN”的那条SQL语句在PHP里就可以成功执行(无论有几条记录)这是怎么回事?
select * from guser where (g_name='刘尧' or e_name='刘尧' or t_name='刘尧') and g_id in (select g_id from guser where g_tel='15049616161')