From:             
Operating system: Windows 2003/2008
PHP version:      5.3.8
Package:          sqlsrv
Bug Type:         Bug
Bug description:constants SQLSRV_NULLABLE_YES, SQLSRV_NULLABLE_NO are reversed!

Description:
------------
---
>From manual page:
http://www.php.net/function.sqlsrv-field-metadata#refsect1-function.sqlsrv-field-metadata-returnvalues
---

constants SQLSRV_NULLABLE_YES, SQLSRV_NULLABLE_NO are actually reversed!

in my database, I set a field that is 'NOT NULL',
sqlsrv_field_metadata() reports it is SQLSRV_NULLABLE_YES and vice versa
for the SQLSRV_NULLABLE_NO.

Test script:
---------------
// open database and make connection, etc.
// select * from mytable
// etc.


foreach( sqlsrv_field_metadata($stmt) as $fieldMetadata ) {
  print($fieldMetadata['Name'] . " is ");
  if ( $fieldMetadata['Nullable'] === SQLSRV_NULLABLE_YES )
    print("NULLABLE_YES\n");
  else if ( $fieldMetadata['Nullable'] === SQLSRV_NULLABLE_NO )
    print("NULLABLE_NO\n");
  else
    print("NULLABLE_UNKNOWN\n");
}


Expected result:
----------------
field1 is NULLABLE_YES
field2 is NULLABLE_NO
field3 is NULLABLE_NO


Actual result:
--------------
field1 is NULLABLE_NO
field2 is NULLABLE_YES
field3 is NULLABLE_YES


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

Reply via email to