I am executing the following query
Expand|Select|Wrap|Line Numbers
- select * from mgroup m RIGHT JOIN cgroup c on (c.m_id=m.gid) where m.owner='priya' and c.user='appu';
+------+---------+-------+------+------+
| gid | grpname | owner | m_id | user |
+------+---------+-------+------+------+
| 3 | family | priya | 3 | appu |
+------+---------+-------+------+------+
However if i write the same query using C API, it gives me output as
"0 rows returned"
C Code snippet:
Expand|Select|Wrap|Line Numbers
- sprintf(stmt_buf,"select * from mgroup m RIGHT JOIN cgroup c on (c.m_id=m.gid) where m.owner='%s' and c.user='%s'",dbrecowner,dbrecuser);
- if (mysql_query(conn,stmt_buf))
- {
- fprintf(stderr, "%s\n", mysql_error(conn));
- return 0;
- }
- res = mysql_store_result(conn);
- if(res == NULL)
- {
- return 0;
- }
- else
- {
- /* process result set, and then deallocate it */
- process_result_set (conn, res);
- }
- ....
- ...
- }
- void process_result_set (MYSQL *conn, MYSQL_RES *res_set)
- {
- unsigned int i;
- while ((row = mysql_fetch_row (res_set)) != NULL)
- {
- for (i = 0; i <= mysql_num_fields (res_set); i++)
- {
- if (i > 0)
- fputc ('\t', stdout);
- printf ("%s", row[i] != NULL ? row[i] : "NULL");
- }
- fputc ('\n', stdout);
- }
- if (mysql_errno (conn) != 0)
- fprintf(stderr, "%s\n",conn, mysql_errno (conn));
- else
- printf ("%lu rows returned\n",
- (unsigned long) mysql_num_rows (res_set));
- }
Please provide ur suggestions.
Thanks in advance
~Priya