Bij het uitvoeren van meerdere queries gaat altijd de eerste query goed, alle opvolgende queries lopen fout met de melding: Commands out of sync; You can't run this command now
Ik ruim netjes de resultset op na gebruik en kijk zelf of er nog extra sets zijn die moeten worden opgeruimd (zoals in php eigenlijk altijd moet). Een voorbeeld waar deze fout optreedt:
Iemand enig idee waarom ik altijd maar één query kan uitvoeren? De verbinding met de database is netjes gemaakt met de CLIENT_MULTI_RESULTS flag (en anders zou de eerste query ook niet moeten worden uitgevoerd).
Ik ruim netjes de resultset op na gebruik en kijk zelf of er nog extra sets zijn die moeten worden opgeruimd (zoals in php eigenlijk altijd moet). Een voorbeeld waar deze fout optreedt:
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| void db_request_group(MYSQL *conn, struct nn_group *group) { MYSQL_RES *db_result; MYSQL_ROW db_row; char *query; query = malloc(strlen(group->group_name) + 27); sprintf(query, "CALL nn_request_group('%s')", group->group_name); if (mysql_real_query(conn, query, strlen(query))) { printf("Error during query execution!\nQuery: %s\nError: %s\n", query, mysql_error(conn)); exit(1); } db_result = mysql_use_result(conn); db_row = mysql_fetch_row(db_result); group->database_id = atoi(db_row[0]); group->old_mark = atoi(db_row[1]) > 0 ? atoi(db_row[1]) : group->old_mark; mysql_free_result(db_result); free(query); // mysql adds extra, empty resultsets after each sproc // preventing further queries, so we clear this first while (db_result = mysql_use_result(conn)) mysql_free_result(db_result); } |
Iemand enig idee waarom ik altijd maar één query kan uitvoeren? De verbinding met de database is netjes gemaakt met de CLIENT_MULTI_RESULTS flag (en anders zou de eerste query ook niet moeten worden uitgevoerd).
Ik ontken het bestaan van IE.