From d8b98aa297f68e579b8ec98ee12d98fc64315318 Mon Sep 17 00:00:00 2001 From: pixel Date: Thu, 12 Apr 2007 18:07:17 +0000 Subject: Adding numaffectedrows() and insertid() into the SQL class. Also having a slightly better error support. Need more work on that though. --- include/SQL.h | 4 +++- lib/SQL.cc | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/include/SQL.h b/include/SQL.h index 4385a6d..5cccd1c 100644 --- a/include/SQL.h +++ b/include/SQL.h @@ -15,10 +15,12 @@ class SQLConnection : public Base { int numrows(); int numfields(); AssocArray fetchrow(); + int numaffectedrows(); + int insertid(); private: MYSQL con; MYSQL_RES * res; - int nr, nf; + int nr, nf, na, ii; MYSQL_FIELD * fields; }; diff --git a/lib/SQL.cc b/lib/SQL.cc index 26620e4..e599f95 100644 --- a/lib/SQL.cc +++ b/lib/SQL.cc @@ -34,6 +34,8 @@ void SQLConnection::query(String q) throw(GeneralException) { mysql_free_result(res); } + res = 0; + if (mysql_real_query(&con, ((ugly_string)q).p, q.strlen())) { throw GeneralException(String("Couldn't run query ") + q); } @@ -44,10 +46,14 @@ void SQLConnection::query(String q) throw(GeneralException) { nr = mysql_num_rows(res); nf = mysql_num_fields(res); fields = mysql_fetch_fields(res); + na = mysql_affected_rows(res); + ii = mysql_insert_id(res); } else { nr = 0; nf = 0; fields = 0; + na = 0; + ii = -1; } } @@ -73,4 +79,12 @@ AssocArray SQLConnection::fetchrow() { return r; } +int SQLConnection::numaffectedrows() { + return na; +} + +int SQLConnection::insertid() { + return ii; +} + #endif -- cgit v1.2.3