2011-01-27 48 views
0

亲爱的社区。下面的代码编译好了,开始,但返回空数组。相同的代码具有相同的返回。有人可以提出一些建议吗?Mysql在可可中使用

-(NSArray *) mysqlDirectQuery:(NSString *)query 
{ 
// query doesn't using now 
NSMutableArray *rows = [[NSMutableArray alloc] initWithCapacity:0]; 

MYSQL *sql = mysql_init(NULL); 
//mysql_options(sql, MYSQL_READ_DEFAULT_GROUP, "LibMySQL"); 
sql = mysql_real_connect(sql, "localhost", "root", "", "test2", 3306, NULL, 0); 
if (sql != NULL) { 
    mysql_query(sql, "select * from Users");   
    MYSQL_RES *qResult = mysql_store_result(sql); 
    if (qResult != NULL) { 
     MYSQL_ROW row; 
     while (row == mysql_fetch_row(qResult)) { 
       [rows addObject:[NSArray arrayWithObjects: 
           [NSString stringWithCString:row[0] encoding:NSISOLatin1StringEncoding], 
           nil]]; 
     } 
     mysql_free_result(qResult); 
    } 
    mysql_close(sql); 
    mysql_server_end(); 
} 
NSArray *resultArray = [NSArray arrayWithArray:rows]; 
rows = nil; 
return resultArray; 
} 

回答

2

不应该这样:

while (row == mysql_fetch_row(qResult)) 

while (row = mysql_fetch_row(qResult)) 

您正在使用行[0]下面,但你没有指定。

+0

这是产品警告:语义问题:使用赋值结果作为没有括号的条件 – Alex 2011-01-27 23:04:43