void mysql_data_seek(MYSQL_RES *result, my_ulonglong offset)
mysql_data_seek find any row in a result set.
the offset value is a row number from 0 to mysql_num_rows (result) -1.
As required for this feature is that the result set structure contains the entire result set, can mysql_data_seek() may be used only in conjunction with mysql_store_result(), not with mysql_use_result().
#include <stdio.h> /* including standard library */ #include <mysql/mysql.h> MYSQL *my; MYSQL_ROW row; MYSQL_RES *result; int main( void ){ char host[20]; char user[20]; char pass[20]; unsigned long num_rows = 0; my = mysql_init(NULL); sprintf(host,"localhost"); sprintf(user,"username"); sprintf(pass,"password"); if (my == NULL ) { printf("Cant initalisize MySQL\n"); return 1; } if( mysql_real_connect (my,host,user,pass,NULL,0,NULL,0) == NULL) { printf("Error cant login\n"); } else { printf("Login correct\n"); } mysql_select_db(my, "test"); mysql_query(my, "SELECT * FROM collection WHERE 1;"); result = mysql_store_result(my); num_rows = (unsigned long) mysql_num_rows(result); printf("num_rows %li\n", num_rows); mysql_data_seek(result, 1); while ((row = mysql_fetch_row(result))) { printf("%s %s %s\n", row[0], row[1], row[2]); } mysql_close(my); return 0; }
Login correct num_rows 2 2 othername othertitle