diff --git a/www/libs/Class.DB.IO.inc b/www/libs/Class.DB.IO.inc
index 575c569d..15c91432 100644
--- a/www/libs/Class.DB.IO.inc
+++ b/www/libs/Class.DB.IO.inc
@@ -332,7 +332,7 @@
$this->error_string['14'] = 'Can\'t connect to DB server';
$this->error_string['15'] = 'Can\'t select DB';
$this->error_string['16'] = 'No DB Handler found / connect or reconnect failed';
- $this->error_string['17'] = 'all db_return* methods work only with SELECT statements, please use db_exec for everything else';
+ $this->error_string['17'] = 'All db_return* methods work only with SELECT statements, please use db_exec for everything else';
$this->error_string['18'] = 'Query not found in cache. Nothing has been reset';
$this->error_string['19'] = 'Wrong PK name given or no PK name given at all, can\'t get Insert ID';
$this->error_string['20'] = 'Found given Prepare Statement Name in array, Query not prepared, will use existing one';
@@ -344,7 +344,7 @@
$this->error_string['30'] = 'Query call in a possible endless loop. Was called more than '.$this->MAX_QUERY_CALL.' times';
$this->error_string['31'] = 'Could not fetch PK after query insert';
$this->error_string['32'] = 'Multiple PK return as array';
- $this->error_string['33'] = 'returning PK was not found';
+ $this->error_string['33'] = 'Returning PK was not found';
$this->error_string['40'] = 'Query async call failed.';
$this->error_string['41'] = 'Connection is busy with a different query. Cannot execute.';
$this->error_string['42'] = 'Cannot check for async query, none has been started yet.';
@@ -1512,11 +1512,18 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
$this->insert_id_ext = $this->insert_id[0];
$this->insert_id = $this->insert_id[0][$this->prepare_cursor[$stm_name]['pk_name']];
}
- elseif ($this->insert_id[0][$this->pk_name])
+ elseif ($this->insert_id[0][$this->prepare_cursor[$stm_name]['pk_name']])
{
$this->insert_id = $this->insert_id[0][$this->prepare_cursor[$stm_name]['pk_name']];
}
}
+ else
+ {
+ // failed to get insert id
+ $this->insert_id = '';
+ $this->warning_id = 33;
+ $this->_db_error('db', 'DB-Warning '.$stm_name.': insert id returned no data', 'DB_WARNING');
+ }
}
// this error handling is only for pgsql
if (is_array($this->insert_id))
@@ -1525,6 +1532,7 @@ $this->debug('ExecuteData', 'ERROR in STM['.$stm_name.'|'.$this->prepare_cursor[
$this->_db_error();
$this->_db_debug('db', 'DB-Warning '.$stm_name.': insert id data returned as array', 'DB_WARNING');
}
+ // NOTE should we keep this inside
elseif (!$this->insert_id)
{
$this->warning_id = 31;