[PHP-DB] mssql_query returns a boolean false instead an empty recordset when the query doesn't match any record

2005-11-09 Thread Pablo F. Díaz Anzalone

Hi all,

 Maybe I didn't explain myself quite wel, so I wil repeat the 
queestion in other words.


I would like to know which is the correct answer I should obtain from 
mssql_query. I have a server in which mssql_query is returning a false 
boolean when it should return an empty recordset (as is doing in the 
other server).


In other words, the question is why I have a server in which mssql_query 
returns empty recordsets when the query doesn't match any record and I 
have installed a new one in which instead of an empty recordset I get a 
boolean valued to false.


Which one is ok and what can be the problem with the other.

I know I can test in each query if result is false or a resource but I 
have more than a hundred queries and I would like to have the knew 
server with the same behavour as the previous one, which it is also how 
I think that it should work.


I'm sorry for the repetition of the topic, but I'm very interested in 
having a better solution than putting if's in each query.


Thank you.

Pablo



smime.p7s
Description: S/MIME Cryptographic Signature


[PHP-DB] mssql_query returns a boolean false instead an empty recordset when the query doesn't match any record

2005-11-07 Thread Pablo F. Díaz Anzalone

Hi all,

I'm moving my intranet pages from one server to a new one. In the
first server everything works ok but in the new one we are having
problems because every time that we are expecting a recordset and it
should be empty because the query doesn't match any record it is return
a boolean valued to false and we get this error when we call
mssql_fetch_row:
Warning: mssql_fetch_array(): supplied argument is not a valid MS
SQL-result resource

The code we are using is something like this:

$db = @mssql_connect(SERVER,USER,PASS) or die(I can't connect
to server);
mssql_select_db(DATABASE);
$query = SELECT * FROM table WHERE false;
$result = mssql_query($query);
while ($row = mssql_fetch_array($result, MSSQL_ASSOC))
{
   //process each registry from the query
}

Everything works fine when the query match at least a record but
mssql_query doesn't return a recordset when it should return an empty one.

We have a debian stable installation with php version 4.3.10-16 and
freetds-dev 0.63-2.  To obtain  freetds  module  we configured and
compiled  php with  ../configure --with-mssql=shared and copied with
cp modules/mssql.so /usr/lib/php4/20020429/. I know it could be a bit
strange doing things in this way but it was the one I got to have a
stable debian and apache and php and freetds installed with packages.

I hope there is someone who could help me.

Pablo



smime.p7s
Description: S/MIME Cryptographic Signature