Most Reliable Way to Check for a Successful INSERT?

Which is the most reliable way to check that a db insert was successful, where the primary key in an auto-updated field? Using the $EZSQL_ERROR, or testing for a $db->insert_id? Or do they both provide completely different solutions to completely different scenarios?