If an error occurs in mysql_real_query() it fell through and tried to
get a result set anyway. This caused the MariaDB error message to be
forgotten and a generic one returned instead.
This fix returns the query error message and also uses the int error
code for generic errors instead of casting it to an unsigned int.