ZF2: How to get error info from Zend\Db

1.1k views Asked by At

I am connecting to MySQL through PDO with Zend\Db from ZF2. How can I report the last errorInfo()?

Here's what I have:

    $sqlWriter = new Sql($this->getAdapter());
    $insert = $sqlWriter->insert('table_name')->columns(array_keys($data))->values($data);
    $stmt = $sqlWriter->prepareStatementForSqlObject($insert);

    try {
        $stmt->execute();
        $object->id = $this->getAdapter()->driver->getLastGeneratedValue();
    } catch (\Exception $e) {
        // 
        //  HOW CAN I display errorInfo() here? 
        //
        throw new Exception\Exception('Unable to insert record...');
    }

I have tried calling methods on the adapter, driver, statement, platform, result, etc... But all to no avail...

EDIT: I found that I can get the info I am looking for by posting the following at the top of the catch block:

        $pdoException = $e->getPrevious();
        var_dump($pdoException);

I'll leave the question open however since it would be good to know how to execute PDO::errorInfo() directly.

0

There are 0 answers