This is a discussion on PHP5RC2 and PEAR DB Problem within the PHP Language forums, part of the PHP Programming Forums category; With PHP5RC2, DB::connect() is not returning the correct type of object. #!/usr/local/bin/php <?php require_once("...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
With PHP5RC2, DB::connect() is not returning the correct type of object.
#!/usr/local/bin/php <?php require_once("DB.php"); $dsn = "odbc://db2inst1:badpasswd@testdb"; $db = DB::connect($dsn); echo $db->getMessage(); if(DB::isError($db)) echo "Connect failed!"; else { $res = $db->query("SELECT * FROM test_tbl"); while($row = $res->fetchRow()) echo $row[0] . "\n"; $db->disconnect(); } ?> The password in the DSN is wrong and DB2 reports the error, however DB::connect() still returns an object of type DB_odbc. I've traced connect() in DB/odbc.php and confirmed that it recognized that odbc_connect() failed and goes into that code path and creates a DB_error object and I've even printed out the type of the object inside the function before it returns it, but in the caller (my test script above), the reported type is DB_odbc and so the if statement is false and then it tried to run the query, but then I get a series of odbc_*() errors because there's no valid resource for those functions to operate on. Has anyone been able to use PEAR DB, specifically the ODBC driver, with PHP5RC2? The code above works on another system, as expected, with PHP 4.3.6. Thanks, Derek |