Hi nro,
Here's a tip ... if you have a line of code that could be written as two lines, do yourself a favour and write it over the two lines.
So, I would first change ...
$results = mysql_fetch_assoc($this->DB_Query('SELECT '.$field.' FROM '.$table.' WHERE id = ''.$id.'''));
... to ...
$sql = 'SELECT '.$field.' FROM '.$table.' WHERE id = \''.$id.'\'';
// Only for debugging
echo $sql;
$query = $this->DB_Query($sql);
$results = mysql_fetch_assoc($query);
Of course, you can always change it to 'shortcut' code once it's been debugged, if you want, but there is absolutely no reason to do so.
Now, having had the warning 'supplied argument is not a valid MySQL result resource', first thing I'd do is to check that the SQL actually is well-formed. Then I'd look up what DB_Query() actually returns, and how you should use that return. If it returns the same sort of object that mysql_query() returns, then check the manual.
See how you get on.
Paul.