Re: mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



He needs to check whether the query worked before he attempts to access the data

$result = mssql_query($query);
if (mssql_errno)  != 0)
{
 echo "error in query :". mssql_error();
 die();
}


Bastien

From: "Ziv Gabel" <ziv@xxxxxxxxxxx>
To: "Pablo F. Díaz Anzalone" <pablo.anzalone@xxxxxxxxxx>,<php-db@xxxxxxxxxxxxx> Subject: Re: mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record
Date: Mon, 7 Nov 2005 13:07:09 +0200

you can try this

  while ($row = @mssql_fetch_array($result, MSSQL_ASSOC))
    {
          if(!$row) {
               continue;
           }
          else {
       //process each registry from the query
           }
    }

Best Regards
Ziv Gabel
Pineapp Support
----- Original Message ----- From: ""Pablo F. Díaz Anzalone"" <pablo.anzalone@xxxxxxxxxx>
To: <php-db@xxxxxxxxxxxxx>
Sent: Monday, November 07, 2005 12:38 PM
Subject: mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record


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






************************************************************************************
This footnote confirms that this email message has been scanned by
PineApp Mail-SeCure for the presence of malicious code, vandals & computer viruses.
************************************************************************************


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux