Bug #13368: 2nd call to @mssql_query does not fill $php_errormsg s'd be'permission denied'
| From: | hlousek at excon dot cz | Date: | Tue, 18 Sep 2001 14:30:19 +0000 |
| Subject: | Bug #13368: 2nd call to @mssql_query does not fill $php_errormsg s'd be'permission denied' | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-66193@lists.php.net to get a copy of this message | ||
From: hlousek@excon.cz
Operating system: SuSe Linux 7.1
PHP version: 4.0.6
PHP Bug Type: *General Issues
Bug description: 2nd call to @mssql_query does not fill $php_errormsg s'd be'permission
denied'
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 bug report at: http://bugs.php.net/?id=13368&edit=1