ID: 11490
User Update by: [EMAIL PROTECTED]
Old-Status: Feedback
Status: Open
Bug Type: Sybase-ct (ctlib) related
Operating system: Debian GNU/Linux i686
PHP Version: 4.0.5
Description: mssql_connect() broken, mssql_pconnect() fixes it
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>";
};
Previous Comments:
---------------------------------------------------------------------------
[2001-06-14 13:03:17] [EMAIL PROTECTED]
Add shortest possible example script which can be used
to reproduce this into this report.
---------------------------------------------------------------------------
[2001-06-14 11:04:06] [EMAIL PROTECTED]
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).
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=11490
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]