2012-11-13 23 views
-1

我有一個C代碼,它正在做mysql查詢。但是現在我想更新我無法完成的程序中的特定列。誰能幫幫我嗎。如何使數據庫中未定義的變量進行mysql_query

conn = mysql_init(NULL); // MySQL Database connection // 
mysql_real_connect(conn, NULL, NULL, NULL, "bypass_new", 0, NULL, 0); 
mysql_query(conn, "SELECT txnum, rxnum from data"); 
result = mysql_store_result(conn); 
num_fields = mysql_num_fields(result); 
k = 0;  

while ((row = mysql_fetch_row(result))) 
{ 
    if(row[0])(p_info + k)->callingP = row[0]; 
    if(row[1])(p_info + k)->calledP = row[1]; 
    mysql_query(conn, "update data set flag_imei=1 where txnum=row[0]"); 
    k++; 
} 

回答

1

試試下面的僞代碼知道它速度更快,比你提到的優化:

k = 0;  
myIDsArray = array(); 

while ((row = mysql_fetch_row(result))) 
{ 
    if(row[0])(p_info + k)->callingP = row[0]; 
    if(row[1])(p_info + k)->calledP = row[1]; 

    myIDsArray.addId(row[0]); 

    k++; 
} 

    myString = [myIDsArray joinByString:","]; 
    myQuery = "update data set flag_imei=1 where txnum in (" . myString . ") "; 
    mysql_query(conn, myQuery); 
+0

這並沒有幫助我很多,我想知道如何傳遞變量在MySQL查詢在C 。 – nitxx

+0

我沒有得到任何問題,如果你的意思是請編輯你的問題 –