|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2002-06-20 14:41 UTC] sander@php.net
[2002-11-22 08:10 UTC] maxim@php.net
[2003-01-27 11:59 UTC] maxim@php.net
[2003-01-27 13:57 UTC] maxim@php.net
[2003-02-25 02:56 UTC] dpcw at gmx dot de
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Oct 27 14:00:01 2025 UTC |
If return value of OCI function is OCI_SUCCESS_WITH_INFO, php assumes it error. and it don't generate message about INFO. so user cannot know what problem is. Using php and oracle, I found OCI_SUCESS_WITH_INFO, but cannot known what problem is. for a long time I try to know it, finally I know. It is "password will be expired" ??.??; When return value of OCI function is OCI_SUCESS_WITH_INFO, we get specific message using OCIErrGet() function like OCI_ERROR. so, I hope to fix that OCI_SUCCESS_WITH_INFO of following function equals OCI_ERROR of it. (ext/oci8/oci8.c) static ub4 oci_error(OCIError *err_p, char *what, sword status) { text errbuf[512]; sb4 errcode = 0; switch (status) { case OCI_SUCCESS: break; case OCI_SUCCESS_WITH_INFO: php_error(E_WARNING, "%s: OCI_SUCCESS_WITH_INFO", what); break; case OCI_NEED_DATA: php_error(E_WARNING, "%s: OCI_NEED_DATA", what); break; case OCI_NO_DATA: php_error(E_WARNING, "%s: OCI_NO_DATA", what); break; case OCI_ERROR: { TSRMLS_FETCH(); CALL_OCI(OCIErrorGet( err_p, (ub4)1, NULL, &errcode, errbuf, (ub4)sizeof(errbuf), (ub4)OCI_HTYPE_ERROR)); php_error(E_WARNING, "%s: %s", what, errbuf); break; } case OCI_INVALID_HANDLE: php_error(E_WARNING, "%s: OCI_INVALID_HANDLE", what); break; case OCI_STILL_EXECUTING: php_error(E_WARNING, "%s: OCI_STILL_EXECUTING", what); break; case OCI_CONTINUE: php_error(E_WARNING, "%s: OCI_CONTINUE", what); break; default: break; } return errcode; }