$DB_site->query() is just like mysql_query().
$DB_site->query_first() is the same as the above, only it returns the first row in the result.
For example if you want to find out someone's username, you can do this:
Code:
$userinfo=$DB_site->query_first("SELECT username FROM user WHERE userid='$userid'");
And then you can just use $userinfo[username].
But if you do it this way (the wrong way):
Code:
$userinfo=$DB_site->query("SELECT username FROM user WHERE userid='$userid'");
(i.e using query instead of query_first)
You must do $DB_site->fetch_array(), because the result in this case it a 2D array.
Am I making sense here?