ID: 14922
Updated by: thies
Reported By: [EMAIL PROTECTED]
Status: Closed
Bug Type: OCI8 related
Operating System: Solaris
PHP Version: 4.1.0
New Comment:
i'm pretty sure that the If the value_sz parameter is zero, Oracle
treats the bind variable as a null is a
new feature 8.0. the old way is to set the indicator to -1 in the
bind-in callback, which is what the
oci8.c does.
i also believe that it makes way more sense to make the decision in the
ociexecute (by looking at the actual
php-variable) and not during bind for various reasons (think of mass
inserts using bound variables).
BTW: you are welcome to contribute the documentation for NULL binds.
Previous Comments:
[2002-01-08 14:27:50] [EMAIL PROTECTED]
Thies sent this to me:
to pass a null thru a bound variable simply assign the
special value NULL to the bound php-variable. the size
supplied to ocibindbyname is simple the max-length of the
inbound variable.
ocibindbyname($stmt,NAME,$name,32);
$name = NULL;
ociexecute($stmt);
- :NAME will have the value null in the query
please verify and close the report.
It seems incorrect to me to tweak a value that the underlying API
expects to be able to handle.
Also, this handling of NULL should be documented in the OCIBindByName
doc.
[2002-01-07 18:37:16] [EMAIL PROTECTED]
It seems that the when oci8.c forces value_sz to 1 if it's 0 is
bypassing a perfectly valid use of a length of 0: To signify a null.
See:
http://download-west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a89857/oci03typ.htm
Edit this bug report at http://bugs.php.net/?id=14922edit=1
--
PHP Development Mailing List http://www.php.net/
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]