RE: [PHP-DB] mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record
According to the php docs, the mssql call should return 'TRUE' on empty recordset. Are you sure there is no problem with the query? Bastien From: "Pablo F. Díaz Anzalone"<[EMAIL PROTECTED]> To: php-db@lists.php.net Subject: [PHP-DB] mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record Date: Wed, 09 Nov 2005 18:54:51 +0100 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 >> -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DB] mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record
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" <[EMAIL PROTECTED]> To: "Pablo F. DÃaz Anzalone" <[EMAIL PROTECTED]>, Subject: Re: [PHP-DB] 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"" <[EMAIL PROTECTED]> To: Sent: Monday, November 07, 2005 12:38 PM Subject: [PHP-DB] 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
Re: [PHP-DB] mssql_query returns a boolean false instead an empty recordset whenthe query doesn't match any record
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"" <[EMAIL PROTECTED]> To: Sent: Monday, November 07, 2005 12:38 PM Subject: [PHP-DB] 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