#13368 [Com]: 2nd call to @mssql_query does not fill $php_errormsg s'd be'permission denied'
| From: | freddyz77 at tin dot it | Date: | Mon, 30 May 2005 08:38:32 +0000 |
| Subject: | #13368 [Com]: 2nd call to @mssql_query does not fill $php_errormsg s'd be'permission denied' | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-79691@lists.php.net to get a copy of this message | ||
ID: 13368
Comment by: freddyz77 at tin dot it
Reported By: hlousek at excon dot cz
Status: No Feedback
Bug Type: MSSQL related
Operating System: SuSe Linux 7.1
PHP Version: 4.0.6
New Comment:
FreeTDS 0.51 is very old, error handling has been entirely rewritten.
You can close the bug report.
freddy77
(FreeTDS developer)
Previous Comments:
------------------------------------------------------------------------
[2002-01-25 11:48:14] sander@php.net
No feedback.
------------------------------------------------------------------------
[2002-01-03 22:07:37] zak@php.net
This may have just been corrected in the development
version of PHP.
Could you please download and build the php4-latest
snapshot from http://snaps.php.net?
Alternately, the change should be in the next release of
PHP.
------------------------------------------------------------------------
[2001-09-18 10:30:19] hlousek at excon dot cz
I'm using MSSQL 7.0 on WinNT4.0, FreeTDS 0.51 with tdsver=4.2, client
is
SuSe Linux 7.1, Apache 1.3.19, PHP 4.0.6.
I've run into troubles while checking SELECT permissions for several
tables within a single db connection. In a typical case, I think, this
should work fine:
##################################################
$php_errormsg = '';
@mssql_query("SELECT * FROM $table");
if (!empty($php_errormsg)) {
echo "It seems you cannot access table $table";
}
##################################################
But this code works only the first time within a single connection to
MSSQL server. The 2nd call to such a code does nothing with the
contents
of $php_errormsg, even when there should be message 'Permission
denied'.
(Sometimes the next call to mssql_query without '@' fires the
exception.)
I've also tried a piece of code like this, but the result was the
same:
##################################################
$php_errormsg = '';
$result = mssql_query("SELECT * FROM $table");
if (! $result) {
echo "It seems you cannot access table $table";
}
##################################################
It seems to me, that there is a bug somewhere. The only way to handle
this situation seems to be reconnecting to the MSSQL server. Any help?
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=13368&edit=1