Bug #11490 Updated: mssql_connect() broken, mssql_pconnect() fixes it
| From: | lobbin@php.net | Date: | Tue, 18 Dec 2001 18:40:39 +0000 |
| Subject: | Bug #11490 Updated: mssql_connect() broken, mssql_pconnect() fixes it | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-74295@lists.php.net to get a copy of this message | ||
ID: 11490
Updated by: lobbin
Reported By: mlathoud@b2b2c.ca
Old Status: Open
Status: Feedback
Bug Type: Sybase-ct (ctlib) related
Operating System: Debian GNU/Linux i686
PHP Version: 4.0.5
New Comment:
Can this be reproduced with a later version of freetds and/or?
R.
Previous Comments:
------------------------------------------------------------------------
[2001-06-14 14:03:03] mlathoud@b2b2c.ca
Update: with a bigger query like the following (returning 2K+ rows with sqsl based on freetds), I
always get
1 is not a valid Sybase-Link resource in <b>test.php</b> on line <b>9</b>
when mssql_query()ing, using pconnect() or connect(). Hence, the bug is definately not in freetds,
but in sybase_ct.
Side note, I am using php4.0.4pl1 with sybase/freetds (not _ct) on another debian (2.2, apache/php
self-compiled)machine and it works just fine.
<?
mssql_pconnect("server","user","pass");
viewdb("SELECT
RegNumber,ISCorporate,Customers.FirstName+Customers.MiddleName+Customers.LastName,Customers.Address,Customers.City,
Customers.State,Customers.ZIP,Customers.HomePhone,Customers.Fax,NickName
from Customers INNER JOIN SalesPersons on Customers.SalesPersonID=Salespersons.SalesPersonID");
function viewdb($query) {
$r=mssql_query($query);
if (!$r) {
print "No results";
exit;
};
print "<p align=center><table border=1>";
while ($res=mssql_fetch_object($r)) {
print "<tr>\n";
if (!isset($fields)) {
foreach (array_keys(get_object_vars($res)) as
$n=>$val) {
if (!($n%2)) continue;
$fields[]=$val;
print "<th>$val";
};
print "<tr>\n";
};
foreach ($fields as $field) {
print "<td>".$res->$field."\n";
};
};
print "</table>";
};
------------------------------------------------------------------------
[2001-06-14 13:03:17] sniper@php.net
Add shortest possible example script which can be used
to reproduce this into this report.
------------------------------------------------------------------------
[2001-06-14 11:04:06] mlathoud@b2b2c.ca
I am using Debian unstable, with the following relevant packages:
freetds0 0.51-4
php4 and php4-sybase 4.0.5-2
It's in fact using extension=sybase_ct.so.
When connecting to a MSSQL7 server, if I use mssql_connect(), only the first row of a query can be
fetched, then I get "2 is not a valid Sybase result resource".
Simply switching to mssql_pconnect() fixes it (even when used with the standalone php4 binary).
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=11490&edit=1