PHP 4.0 Bug #6527 Updated: empty field returned are not empty

From: Date: Tue, 03 Oct 2000 03:10:41 +0000
Subject: PHP 4.0 Bug #6527 Updated: empty field returned are not empty
Groups: php.dev 
Request: Send a blank email to php-dev+get-34027@lists.php.net to get a copy of this message
ID: 6527 Updated by: sniper Reported By: lenar@city.ee Status: Open Bug Type: Sybase-ct (ctlib) related Assigned To: Comments: Previous Comments: --------------------------------------------------------------------------- [2000-09-06 13:13:11] joey@php.net Unless you can convince me otherwise (getting sybase products correct would be a good start) I will close this bug... --------------------------------------------------------------------------- [2000-09-06 13:12:28] joey@php.net #1: You have got yourself ass-backwards ASA = /A/daptive /S/erver /A/nywhere ASE = /A/daptive /S/erver /E/nterprise Please edit your last comment with this in mind, as I cannot understand what you are trying to say. My guess is that you are using the /ASE/ libraries to connect to an /ASA/ database, which (AFAIK) has no officially defined behavior. Long story short: Connecting to /ASE/ behaves the way that /ASE/ always behaves. I'm fairly sure that this is NOT a PHP bug, but is due to the way that Sybase CT-Lib handles this. --------------------------------------------------------------------------- [2000-09-05 08:16:41] lenar@city.ee In ISQL I can do the same way you did and the results are ok: select '**', '*'+phone+'*' from users where phone = '' And I get: --------- ** ** ** ** so on... and the result can't be NULL beacuse the phone field is defined as NOT NULL DEFAULT '' so it always contains a string '' whenever it's not explictly specified to something else. We are here using Sybase ASE (Adaptive Server Anywhere) ver 6.0.3 and this is not the same thingas ASA 11.x. The versioning sequence is different. ASE supports open client connectivity and we are using ASA 11.9.x ct-libs client side libraries to provide the connectivity to our applications on windows platform and to php-sybase-ct on linux platform. This is because ASE isn't coming default with these libraries, but provides protocol-level compatibility when it's lot cheaper than ASA itself. Maybe I find time to debug php-sybase module myself but right now I just reported that in my opinion the problem still exists and still needs attention. Maybe the problem resides in these client libraries, but right now I don't know. Lenar --------------------------------------------------------------------------- [2000-09-05 03:14:38] joey@php.net Note that the empty string is NOT the same thing in Sybase as a null...here's what ISQL shows us. 1> select "**", "*"+OPP_VOLUNTEERS_NEEDED+"*" from OPPORTUNITY 1> where OPP_VOLUNTEERS_NEEDED = NULL 2> go -- ----------------- ** ** ** ** <... snip ...> (18 rows affected) 1> 1> select "**", "*"+OPP_VOLUNTEERS_NEEDED+"*" from OPPORTUNITY 1> where OPP_VOLUNTEERS_NEEDED = "" 2> go -- ----------------- ** * * <... snip ...> ** * * ** * * (389 rows affected) 1> And what version of Sybase ASE are you using? 6.0? There is no (AFAIK) Linux port earlier than 11.5, so something is definitely wrong here. --------------------------------------------------------------------------- [2000-09-04 06:56:01] lenar@city.ee And don't say it's sybase's fault. At least in ISQL it works. It's ASE 6 here and in ISQL over ctlib I get very proper results: SELECT '**', '*'+phone+'*', LENGTH(phone) FROM users WHERE LENGTH(phone) = 0 result records: ** ** 0 ** ** 0 not: ** * * 0 or something more bizarre. So please check it out. Lenar --------------------------------------------------------------------------- The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online. Full Bug description available at: http://bugs.php.net/?id=6527

« previous php.dev (#34027) next »