]> granicus.if.org Git - php/commitdiff
MFH: check SQLError() return value and output a meaningful errmsg when it fails
authorAntony Dovgal <tony2001@php.net>
Mon, 19 Feb 2007 20:22:38 +0000 (20:22 +0000)
committerAntony Dovgal <tony2001@php.net>
Mon, 19 Feb 2007 20:22:38 +0000 (20:22 +0000)
ext/odbc/php_odbc.c

index 09374431c87c847b4450c58f2d7c4fead212d583..bb97e27c59b73ca82b6c3e38512a47187a042a1e 100644 (file)
@@ -587,6 +587,10 @@ void odbc_sql_error(ODBC_SQL_ERROR_PARAMS)
                do {
         */
        rc = SQLError(henv, conn, stmt, state, &error, errormsg, sizeof(errormsg)-1, &errormsgsize);
+       if (rc != SQL_SUCCESS && rc != SQL_SUCCESS_WITH_INFO) {
+               sprintf(state, "HY000");
+               sprintf(errormsg, "Failed to fetch error message");
+       }
        if (conn_resource) {
                memcpy(conn_resource->laststate, state, sizeof(state));
                memcpy(conn_resource->lasterrormsg, errormsg, sizeof(errormsg));
@@ -1224,7 +1228,7 @@ PHP_FUNCTION(odbc_data_source)
 
        if (rc != SQL_SUCCESS) {
                /* ummm.... he did it */
-               odbc_sql_error(conn, NULL, "SQLDataSources");
+               odbc_sql_error(conn, SQL_NULL_HSTMT, "SQLDataSources");
                RETURN_FALSE;
        }