ID: 24720
User updated by: adrian at smartcall dot ro
Reported By: adrian at smartcall dot ro
-Status: Feedback
+Status: Open
Bug Type: MSSQL related
Operating System: linux slackware
PHP Version: 4.3.2
New Comment:
I downloaded the latest snapshot ... compiled, instaled ... but with no
success ... the result is still the same for mssql_query or
mysql_query: When my query has no match I get 1 as result instead of a
resurce id.
Now I am writting myscripts this way :
if ( $result != 1 )
while ($msrow = mssql_fetch_row($result))
{
... etc ...
}
But I don't think this is very elegant.
P.S. Before I installed the slackware on the server I had a debian (
woody ), on which I had the same problem. So, is not a operating system
problem !
Previous Comments:
------------------------------------------------------------------------
[2003-07-20 10:47:53] [EMAIL PROTECTED]
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
And give a complete example script, WITHOUT any 'include/require'
calls.
------------------------------------------------------------------------
[2003-07-19 14:48:53] adrian at smartcall dot ro
Description:
------------
I updated my php to php-4.3.2 on apache_1.3.27, I have mysql-3.23.57
and I also use freetds-0.61.
My php ./configure line is
'./configure' '--prefix=/usr/local/misc/php'
'--with-apxs=/usr/local/misc/apache/bin/apxs'
'--with-mysql=/usr/local/misc/mysql'
'--with-sybase-ct=/usr/local/misc/freetds'
All my scripts ( that before worked ) are giveing me the followig error
:
Warning: mysql_result(): supplied argument is not a valid MySQL result
resource
mssql_fetch_row(): supplied argument is not a valid Sybase result
resource
This error apears when no line maches the query !
In the first place I thought that is the freetds driver ... but I saw
that even on mysql i'm geting the same error.
Reproduce code:
---------------
$msdb = mssql_connect("192.168.0.5", "web","webpass");
mssql_select_db("DATABASE",$msdb);
$result = mssql_query("SELECT DEALERS.PASS FROM DEALERS WHERE
DEALERS.DEALER='" . $_POST["DealerName"] . "'", $msdb);
$msrow = mssql_fetch_row($result);
if ( $msrow[0] != $_POST["DealerPass"] )
{ mssql_close($msdb);
include("../include/error_message.html");
exit();
}
Expected result:
----------------
Warning: mssql_fetch_row(): supplied argument is not a valid Sybase
result resource in /home/www/default/dealer/check_dealer.php on line 7
Actual result:
--------------
In $msrow[0] I should have the password ( I have the password when
$_POST["DealerName"] matches one of the DEALERS.DEALER from DEALERS )
but if $_POST["DealerName"] can't be found in the table I'm getting
Warning: mysql_result(): supplied argument is not a valid MySQL result
resource
I "echo("Result = ".$result);" and when I have a match I'm getting
"Result = Resource id #7" and when not a match I have "Result = 1". Is
this correct ? Before using php 4.3.2 I didn't faced this problem !
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=24720&edit=1