Table of Contents

mysql_data_seek

void mysql_data_seek(MYSQL_RES *result, my_ulonglong offset)

description of mysql_data_seek

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;
}

output of mysql_data_seek c example

  Login correct
  num_rows 2
  2 othername othertitle