recordset gets messed up by EOF/ reading in it ?
Available news archives: comp.lang.tcl - comp.lang.python - comp.security.firewalls - sci.crypt - comp.lang.php - comp.lang.javascript
Google
 
Web news.hping.org


comp.lang.php archive

recordset gets messed up by EOF/ reading in it ?

From: Dieter Beheydt <dieter.beheydt@leiedal.be>
Date: Fri Jul 15 2005 - 16:15:59 CEST

Seems like a $rs-> EOF messes up the record set ?
(using php 4.2.2 and MSSQL database)
I try to read the ntext-field "body".

THIS WORKS !!

$dbMail = new COM("ADODB.Connection");
$dsn = "DRIVER={SQL Server}; SERVER={--------};UID={-----};PWD={-------};
DATABASE={--------}";
$dbMail->Open($dsn);

$sql="select * from email INNER JOIN klassement ON email.id =
klassement.mailid where email.id = '124' ORDER BY date_sent DESC";
$rs=$dbMail->Execute($sql);

$thebody=$rs->Fields["body"]->Value;
echo $thebody;

THIS PRINTS A ZERO ?????

$dbMail = new COM("ADODB.Connection");
$dsn = "DRIVER={SQL Server}; SERVER={--------};UID={-----};PWD={-------};
DATABASE={--------}";
$dbMail->Open($dsn);

$sql="select * from email INNER JOIN klassement ON email.id =
klassement.mailid where email.id = '124' ORDER BY date_sent DESC";
$rs=$dbMail->Execute($sql);
while(!$rs->EOF)
{
    $thebody=$rs->Fields["body"]->Value;
    echo $thebody;
    $rs->MoveNext();
}
$rs->Close();

How is this possible???

Also I see now that in the first case, if I try to echo twice the same , it
doesn't print the second one:

echo $rs->Fields["body"]->Value; // prints the text
echo $rs->Fields["body"]->Value; // prints nothing (even no zero)

anyone ?
Received on Mon Oct 17 21:07:56 2005