From:             
Operating system: Linux
PHP version:      5.2.13
Package:          ODBC related
Bug Type:         Bug
Bug description:odbc_execute doesn't return proper result

Description:
------------
Result status for odbc_execute() is not correctly returned for CREATE TABLE
statements. Tested with MySQL and PostgreSQL ODBC drivers. Execution of
odbc_execute() for SELECT/UPDATE/INSERT statements doesn't have that
effect.



Testing CREATE TABLE with isql utility from unixODBC correctly returns an
error on second execution (assuming that table didn't exist before).

Test script:
---------------
    $stmt = odbc_prepare($db, "CREATE TABLE x(id int)");

    

    if ($stmt === false) {

        $error = true;

        $resultStr = "Query: $query\nPrepare Error: " .
odbc_errormsg($db);

        echo $resultStr . "\n";

    } else {

        // Executing query (if prepare went fine)

        $result = odbc_execute($stmt, $parameterArray);

        echo $resultStr . "\n";

    }

        

    if (!$result) {

        echo "ODBC Error: " . odbc_error($db) . "\n";

        $resultStr = "Query: $query\nExecute error: " .
odbc_errormsg($db);

        echo $resultStr . "\n";

        $error = true;

    }

Expected result:
----------------
Execution of the test script should create table "x" during the first
execution without reporting an error. The second execution should report an
error.

Actual result:
--------------
Every execution of the script reports an error:



Execute error: [unixODBC]Error while executing the query (non-fatal);

ERROR:  relation "x" already exists



The table "x" is successfully created during the first test script
execution.

-- 
Edit bug report at http://bugs.php.net/bug.php?id=51476&edit=1
-- 
Try a snapshot (PHP 5.2):            
http://bugs.php.net/fix.php?id=51476&r=trysnapshot52
Try a snapshot (PHP 5.3):            
http://bugs.php.net/fix.php?id=51476&r=trysnapshot53
Try a snapshot (PHP 6.0):            
http://bugs.php.net/fix.php?id=51476&r=trysnapshot60
Fixed in SVN:                        
http://bugs.php.net/fix.php?id=51476&r=fixed
Fixed in SVN and need be documented: 
http://bugs.php.net/fix.php?id=51476&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=51476&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=51476&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=51476&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=51476&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=51476&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=51476&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=51476&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=51476&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=51476&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=51476&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=51476&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=51476&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=51476&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=51476&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=51476&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=51476&r=mysqlcfg

Reply via email to