my_ulonglong mysql_affected_rows(MYSQL *mysql)
Returns the number of the last UPDATE , DELETE, INSERT. Can be called for UPDATE, DELETE, or INSERT statements directly to mysql_query(). In SELECT statements, mysql_affected_rows() works like mysql_num_rows().
compile with gcc mysql_affected_rows.c -o mysql_affected_rows `mysql_config –cflags –libs` -Wall
#include <stdio.h> /* including standard library */ #include <mysql/mysql.h> MYSQL *my; int main( void ){ char host[20]; char user[20]; char pass[20]; 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, "INSERT INTO `test`.`collection`" " (`id`, `name`, `title`, `published`)" " VALUES (NULL, 'Demian', 'Debian 6.0', '2013-02-14');"); printf("MySQL affected rows: %ld\n", (long) mysql_affected_rows(my)); mysql_close(my); return 0; }
Login correct MySQL affected rows: 1