#40687 [Opn->Bgs]: ODBC+PHP+MSSQL generate error while executing multi query in one transaction

2007-03-02 Thread fmk
 ID:   40687
 Updated by:   [EMAIL PROTECTED]
 Reported By:  scottsdev at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: ODBC related
 Operating System: Windows Server
 PHP Version:  5.2.1
 New Comment:

There is no bug here.

odbc_next_result() sjould be called with a odbc result resource as the
parameter. That's the only way it can advnance the internal result
pointer to the next result.

You code should look like this:

if (odbc_next_result($results)){
while ($row = odbc_fetch_array($results)) {
// Do your stuff
}
}

or

// Move to the last result
while (odbc_next_result($results));
while ($row = odbc_fetch_array($results)) {
// Do your stuff
}




Previous Comments:


[2007-03-02 21:10:54] scottsdev at gmail dot com

No Sir,

Still it don't work.  I put the if condition which check whether Next
Result is found or not, and it come inside that clause and show error
in fetch_array line.

==

$query = <error("No results!\n");
return false;
}else {
$data = array();
if (odbc_next_result){
while ( $row = odbc_fetch_array($results))
{

=

It still showing same error at 

==> while ( $row = odbc_fetch_array($results))

Error: 
Warning: odbc_fetch_array() [function.odbc-fetch-array]: No tuples
available at this result index in D:\inetpub\wwwroot\php\xyz\aaa.php on
line 111



[2007-03-02 18:19:47] [EMAIL PROTECTED]

Your query returns multiple results. The first is for the insert
statement and the second for the select. Take a look at
http://us3.php.net/odbc_next_result to see how to move to the second
result.



[2007-03-02 00:43:53] scottsdev at gmail dot com

Description:

Hello,

I used DSN to established connection with MSSQL using following Cursor.
 
Code is >>> 

$conn = odbc_pconnect($dsn,$username,$password, SQL_CUR_USE_ODBC) or
die("ERROR OCCUR WHILE CONNECTING TO THE SERVER");

I am getting following error when i tried to execute query like ...
$sql = "insert into  (col_1, col_2, col_3) values (val_1,
val_2, val_3); select SCOPE_IDENTITY() as LastInsertedID";
$results = odbc_exec($conn, $sql) or die("Query fail:
$query");

//
if(!$results) 
{
$this->error("No results!\n");
return false;
}else {
$data = array();
while ( $row = odbc_fetch_array($results))
{
$data = $row;
}
odbc_free_result($results);
$last_Id = $data['LastInsertedID'];
}

==

So errors occurs
on this line:   while ( $row = odbc_fetch_array($results))

Error is : 
Warning: odbc_fetch_array() [function.odbc-fetch-array]: No tuples
available at this result index in
D:\inetpub\wwwroot\php\xyz\lib\.php on line 1

So I really don't understand how to remove this error, and what to do
so that such two query can be run at once and return the result.

J. Scott
[scottsdev at gmail dot com]






-- 
Edit this bug report at http://bugs.php.net/?id=40687&edit=1


#40687 [Opn->Bgs]: ODBC+PHP+MSSQL generate error while executing multi query in one transaction

2007-03-02 Thread fmk
 ID:   40687
 Updated by:   [EMAIL PROTECTED]
 Reported By:  scottsdev at gmail dot com
-Status:   Open
+Status:   Bogus
 Bug Type: ODBC related
 Operating System: Linux
 PHP Version:  5.2.1
 New Comment:

Your query returns multiple results. The first is for the insert
statement and the second for the select. Take a look at
http://us3.php.net/odbc_next_result to see how to move to the second
result.


Previous Comments:


[2007-03-02 00:43:53] scottsdev at gmail dot com

Description:

Hello,

I used DSN to established connection with MSSQL using following Cursor.
 
Code is >>> 

$conn = odbc_pconnect($dsn,$username,$password, SQL_CUR_USE_ODBC) or
die("ERROR OCCUR WHILE CONNECTING TO THE SERVER");

I am getting following error when i tried to execute query like ...
$sql = "insert into  (col_1, col_2, col_3) values (val_1,
val_2, val_3); select SCOPE_IDENTITY() as LastInsertedID";
$results = odbc_exec($conn, $sql) or die("Query fail:
$query");

//
if(!$results) 
{
$this->error("No results!\n");
return false;
}else {
$data = array();
while ( $row = odbc_fetch_array($results))
{
$data = $row;
}
odbc_free_result($results);
$last_Id = $data['LastInsertedID'];
}

==

So errors occurs
on this line:   while ( $row = odbc_fetch_array($results))

Error is : 
Warning: odbc_fetch_array() [function.odbc-fetch-array]: No tuples
available at this result index in
D:\inetpub\wwwroot\php\xyz\lib\.php on line 1

So I really don't understand how to remove this error, and what to do
so that such two query can be run at once and return the result.

J. Scott
[scottsdev at gmail dot com]






-- 
Edit this bug report at http://bugs.php.net/?id=40687&edit=1