]> granicus.if.org Git - php/commitdiff
- Bug #44154: [DOC] Return 3 elements at all times. If the dbh stmt doesn't have
authorDavid Coallier <davidc@php.net>
Tue, 4 Nov 2008 18:25:26 +0000 (18:25 +0000)
committerDavid Coallier <davidc@php.net>
Tue, 4 Nov 2008 18:25:26 +0000 (18:25 +0000)
  an error code we used to return an array with one element. For the sake
  of consistency and verification of returned values at userland we are now
  returning an array with 3 elements. Note the two last elements are null but
  present

- Bug #44153: [DOC] If the error code returned by the DBH is null, we return
  a null value. This is used in order to help with empty error codes.

ext/pdo/pdo_dbh.c

index 5dfe451d5f70825cba728e0c31de485d88b2c271..21b11c89726766666c5690da46112b307f2bda6a 100755 (executable)
@@ -988,7 +988,12 @@ static PHP_METHOD(PDO, errorCode)
        if (dbh->query_stmt) {
                RETURN_STRING(dbh->query_stmt->error_code, 1);
        }
-       
+
+       if (dbh->error_code[0] == '\0') {
+               RETURN_NULL();
+       }
+
+       // Fallback to default documented value 
        RETURN_STRING(dbh->error_code, 1);
 }
 /* }}} */
@@ -1010,6 +1015,8 @@ static PHP_METHOD(PDO, errorInfo)
                add_next_index_string(return_value, dbh->query_stmt->error_code, 1);
        } else {
                add_next_index_string(return_value, dbh->error_code, 1);
+               add_next_index_null(return_value);
+               add_next_index_null(return_value);
        }
        if (dbh->methods->fetch_err) {
                dbh->methods->fetch_err(dbh, dbh->query_stmt, return_value TSRMLS_CC);