#21279 [Fbk->NoF]: odbc_fetch_into returns empty strings for columns with NULL values
| From: | sniper@php.net | Date: | Fri, 31 Jan 2003 19:44:39 +0000 |
| Subject: | #21279 [Fbk->NoF]: odbc_fetch_into returns empty strings for columns with NULL values | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-31783@lists.php.net to get a copy of this message | ||
ID: 21279
Updated by: sniper@php.net
Reported By: mlemos@acm.org
-Status: Feedback
+Status: No Feedback
Bug Type: ODBC related
Operating System: Windows
PHP Version: 4.3.0
New Comment:
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
Previous Comments:
------------------------------------------------------------------------
[2003-01-16 10:56:03] kalowsky@php.net
It should contain it. You can look into the code though and see for
yourself just to ensure. The fix is in the points that you suggested,
but if it's not working I'm not sure what to tell you other than wait.
------------------------------------------------------------------------
[2003-01-06 23:03:13] mlemos@acm.org
I just tried Win32 build of PHP 4.4.0-dev taken from snaps.php.net
(php4-win32-200301062330.zip) and it is working the same. It looked
like the fix would solve the problem but it works as if the fix was not
applied. Isn't that build supposed to include the fix?
------------------------------------------------------------------------
[2003-01-06 12:11:01] kalowsky@php.net
Try a snapshot dated sometime after this. I believe it does what you
want/desire. If not many complaints happen I'll leave it in...
------------------------------------------------------------------------
[2003-01-03 17:09:16] mlemos@acm.org
What I meant is that every SQL based PHP database API has a function to
fetch rows into an array. When it is not not *_fetch_into is
*_fetch_row.
I do not see any ambiguity in figuring if a result column has a NULL.
As a matter of fact in the current odbc_function of php_odbc.c you
have:
http://cvs.php.net/co.php/php4/ext/odbc/php_odbc.c?r=1.143.2.1
if (result->values[i].vallen == SQL_NULL_DATA) {
Z_STRVAL_P(tmp) = empty_string;
break;
}
Since NULL is always NULL regardless of the data type of a column, all
that needs to be done is to leave undefined (NULL) the respective
column position of the PHP array value returned by the odbc_fetch_into.
------------------------------------------------------------------------
[2003-01-03 12:10:44] kalowsky@php.net
Which other API's are you talking about? Oracle? It's the only other
extension that uses fetch into really.
As for the statement, there is no way for ODBC to really tell either.
The API itself defines this to be rather ambiguous so it becomes
difficult to deal with. At this time the result leaves it to the PHP
user to decide if one is really an emtpy string or NULL rather than the
PHP engine. I tend to think this is a better solution.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/21279
--
Edit this bug report at http://bugs.php.net/?id=21279&edit=1