ID: 10302
User Update by: [EMAIL PROTECTED]
Status: Open
Bug Type: ODBC related
Operating system: winnt4sp6
PHP Version: 4.0.4pl1
Description: odbc_tables()

Update:

The same script works fine using the CGI interface.
If I select the reload page button on the browser, it works using ISAPI about 1 in 5 
times!



Previous Comments:
---------------------------------------------------------------------------

[2001-05-16 02:51:32] [EMAIL PROTECTED]
I have just updated php to 4.0.5 with the same results.
I also added odbc_error() and odbc_errormsg() after the 
'SORRY . I Cant't Get The Table Details' message, and they return empty stings.

Thanks
John

---------------------------------------------------------------------------

[2001-04-23 12:27:53] [EMAIL PROTECTED]
code example:-

<?php
$dsn="php";     // System DSN
$user="GUEST";
$passwd="";
$db = odbc_connect($dsn,$user,$passwd);
if(!$db) {
        echo "SORRY: could not connect to database<br>";
        die();
}

//------------------------------------------------
// get table list
//------------------------------------------------

$table_list=array();
$result = odbc_tables($db);
if($result) {
        $count=0;

               // debug lines
        echo odbc_num_rows($result) . " Tables found <br>";
        odbc_result_all($result);
               // end debug

        while(($report = odbc_fetch_row($result))) {
                $row[$count] = odbc_result($result,3);
                $count++;
        }

        if($count > 0) {
                sort($row);
                for(reset($row);$table_list[]=current($row);next($row)) { }
        } else {
                echo "SORRY. I Can't Get The Table Details<br>";
                die();
        }
}

//-------------------------------------------------
// get field names
//-------------------------------------------------
if(!$tables)
        $tables=$table_list[0];

$result = odbc_columns($db,"","","$tables");
if($result) {
        $row=array();
        $count=0;
        while(($report = odbc_fetch_row($result))) {
                $row[$count] = odbc_result($result,4);
                $count++;
        }

        if($count > 0) {
                sort($row);
                for(reset($row);$columns[]=current($row);next($row)) {}
        } else {
                echo "SORRY. I Can't Get The Field Details<br>";
                die();
        }
}

odbc_close($db);

odbc_num_rows() returns a count of tables in the database,
odbc_results_all() returns no rows,
odbc_fetch_row() returns false.


---------------------------------------------------------------------------

[2001-04-18 21:37:34] [EMAIL PROTECTED]
can you please provide a sample script on how to reproduce this?

---------------------------------------------------------------------------

[2001-04-12 10:47:08] [EMAIL PROTECTED]
I think this may have been an issue in a previous release but I am still having it in 
this version.

after calling odbc_tables() I can not get the results using odbc_fetch_row() or 
odbc_result_all(), but odbc_num_rows() does return the number of tables in the 
database.

The system is using the precomplied version downloaded from zend with the default 
php.ini file. Oh and in ISAPI mode!

Thanks

---------------------------------------------------------------------------


Full Bug description available at: http://bugs.php.net/?id=10302


-- 
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]

Reply via email to