|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #21076 ODBC_TABLES and ODBC_COLUMNS cannot be called together
Submitted: 2002-12-18 07:54 UTC Modified: 2004-04-21 00:13 UTC
Avg. Score:4.5 ± 0.8
Reproduced:6 of 6 (100.0%)
Same Version:3 (50.0%)
Same OS:2 (33.3%)
From: jlim at natsoft dot com Assigned:
Status: No Feedback Package: ODBC related
PHP Version: 4CVS, 5CVS OS: Win2000, IIS-CGI
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
Solve the problem:
31 - 3 = ?
Subscribe to this entry?

 [2002-12-18 07:54 UTC] jlim at natsoft dot com
The following code:

$conn = odbc_connect("netsdk", "yyyy", "xxxx") or die("FAIL CONNECTION");
print "Connected <br>";
print "ODBC_Tables<br>"; 
	$trs = odbc_tables($conn); 
print "ODBC_Columns<br>"; 
	$colrs = odbc_columns($conn); 
print "Done<br>";

Will generate the output:


Warning: SQL error: , SQL state 00000 in SQLColumns in d:\inetpub\wwwroot\php\hs~a.php on line 10

Warning: odbc_free_result(): supplied argument is not a valid ODBC result resource in d:\inetpub\wwwroot\php\hs~a.php on line 11

However, the following code with odbc_tables commented out:


$conn = odbc_connect("netsdk", "adodb", "natsoft") or die("FAIL CONNECTION");
print "Connected <br>";
/*print "ODBC_Tables<br>"; 
	$trs = odbc_tables($conn); 
print "ODBC_Columns<br>"; 
	$colrs = odbc_columns($conn); 
print "Done<br>";

Works fine with the output:


Hope this was clear.

Regards, John Lim


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2003-01-24 16:18 UTC]
Marking as bogus.  

Using Win2k, and the CGI build I cannot reproduce this at all.  My attempts to showed nothing wrong with the code base that I could find.  
 [2003-01-25 09:39 UTC] heyjohnlim at yahoo dot com

Thanks for testing. I just retested.

When i test with MS Access driver the problem does not occur. 

In the original report, I tested on microsoft sql server 2000, with SQL Server ODBC Driver version 2000.81.9001.00 (MDAC 2.6 installed).  I just retested and still get the problem. I set the "Use ANSI quoted identifiers" and "Use ANSI nulls" in the odbc driver.

- John
 [2003-01-26 16:10 UTC]
Update your MDAC to 2.7 it's the latest and from what I can tell works fine.  I have no SQL-Server to test on though unfortunately.  
 [2003-02-15 23:00 UTC] heyjohnlim at yahoo dot com
I have updated to MDAC 2.7 and it still happens. Perhaps it is due to mssql driver issues.

Regards, John
 [2003-02-18 12:05 UTC]
I looked into this a but more this past week... I still don't see anything outrageously wrong.  Very odd... any chance I can get you to try this script with a lame DB like MS Access?  

I still am unable to reproduce this locally.
 [2003-02-18 23:34 UTC] heyjohnlim at yahoo dot com
Sorry I forgot to mention, i did test on access previously and it was ok. The mssql odbc driver is probably much more complex.
 [2003-02-19 23:35 UTC]
Well now that seems really odd.  I guess I'll have to try to get access to a SQLServer machine for some testing... ugh...
 [2003-06-29 22:45 UTC]
Yep it exists.
 [2003-07-02 04:01 UTC] jlim at natsoft dot com
Tested with 4.3.3RC2-dev. Same problem with mssql odbc driver.

I also tested with access and oracle odbc drivers and the problem never happens with these drivers, so it appears to be something specific to the way mssql does things.

I also double-checked the MDAC using M'soft's ComCheck program(as i have changed PC's), and it is mdac 2.7 SP1.

The mssql driver version is 2000.81.9031.14, 15/Nov/2002

Regards, John
 [2004-04-21 00:13 UTC]
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.

 [2007-12-27 05:21 UTC] php-louis at steelbytes dot com
I just ran into this problem with latest PHP and MSDE2000 (SQL Server 2000 cut down editon).

using somthing like the following does not work ... (pseudo code)

$tables = odbc_tables($con)
while ($t=$odbc_fetch_array($tables))
  odbc_columns($con,$t['TABLE_CAT'],$t['TABLE_SCHEM'],$t['TABLE_NAME']); <-- fails here
  display column results

but the following does work

$tables = odbc_tables($con)
while ($t=$odbc_fetch_array($tables))
for (. $t in $tahbles_array .)
  odbc_columns(..$t[name].) (as above) 
  display column results
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu May 30 06:01:31 2024 UTC