OPTIONAL
SYNOPSIS
        string db_error(int handle)

DESCRIPTION
        Return a string describing the error which occurred during the last
        database transaction. If the last database transaction was successful,
        this call returns 0.

        The function is available only if the driver is compiled with
        mySQL support. In that case, __MYSQL__ is defined.

        The efun triggers a privilege violation ("mysql", "db_error").

HISTORY
        Added in 3.2.9 .
        LDMud 3.2.11 added the privilege violation.

SEE ALSO
        db_affected_rows(E), db_conv_string(E), db_close(E), db_coldefs(E),
        db_connect(E), db_exec(E), db_fetch(E), db_handles(E), db_insert_id(E),
        mysql(C), privilege_violation(M)
