在C語言中,我們可以使用MySQL提供的函數庫來訪問數據庫。其中,mysql_query函數可以執行SQL語句,并返回結果。但是,該函數返回的結果是一個MYSQL_RES類型的結構體指針,需要進一步處理才能得到字符串類型的結果。
具體來說,我們可以使用mysql_fetch_row函數來獲取查詢結果中的一行數據。這個函數返回一個char型指針數組,每個元素對應查詢結果中的一個字段,即一個字符串。通過循環調用該函數,我們可以得到所有查詢結果的字符串類型表示。
MYSQL_RES *res; MYSQL_ROW row; mysql_query(conn, "SELECT * FROM mytable"); res = mysql_store_result(conn); while((row = mysql_fetch_row(res)) != NULL) { for(int i = 0; i< mysql_num_fields(res); i++) { printf("%s ", row[i]); } printf("\n"); } mysql_free_result(res);
上述代碼中,我們先執行了一條SQL語句查詢出所有數據,然后使用mysql_store_result函數將結果存儲在res指針中。接下來,通過循環調用mysql_fetch_row函數來逐行獲取查詢結果,并使用循環打印出每行的每個字段,即每個字符串。最后,我們需要使用mysql_free_result函數來釋放結果集的內存。
總的來說,在使用C語言操作MySQL時,返回字符串類型的查詢結果需要使用mysql_fetch_row函數進一步處理。通過循環調用該函數,我們能夠得到所有查詢結果的字符串表示。