ID: 49344 Comment by: philipp at servicemail24 dot de Reported By: rockyjl at gmai dot com Status: No Feedback Bug Type: PDO related Operating System: win2003 X64 PHP Version: 5.2.11RC1 Assigned To: felipe New Comment:
The same error occurs using Ubuntu 0910 with Zend Framework: require_once('Zend/Db.php'); $db = Zend_Db::factory('Pdo_Mssql', array( 'host' => 'sqlsrv', 'username' => 'php', 'password' => 'secret', 'dbname' => 'myDatabase', 'pdoType' => 'dblib' )); $result = $db->fetchAll(SELECT * FROM MyTable"); var_dump($result); Zend_Db_Adapter_Exception: SQLSTATE[] (null) (severity 0) in /usr/share/php/libzend-framework-php/Zend/Db/Adapter/Pdo/Abstract.php on line 144 Previous Comments: ------------------------------------------------------------------------ [2009-09-23 04:20:01] Rockyjl at gmail dot com My Modification: static int pdo_dblib_handle_factory(pdo_dbh_t *dbh, zval *driver_options TSRMLS_DC) { pdo_dblib_db_handle *H; int i, ret = 0; char *location = " L="; struct pdo_data_src_parser vars[] = { { "charset", NULL, 0 }, { "appname", "PHP " PDO_DBLIB_FLAVOUR, 0 }, { "host", "127.0.0.1", 0 }, { "dbname", NULL, 0 }, { "secure", NULL, 0 }, /* DBSETLSECURE */ /* TODO: DBSETLVERSION ? */ }; php_pdo_parse_data_source(dbh->data_source, dbh->data_source_len, vars, 5); H = pecalloc(1, sizeof(*H), dbh->is_persistent); H->login = dblogin(); H->err.sqlstate = dbh->error_code; if (!H->login) { strcat(location, "login"); goto cleanup; } if (dbh->username) { DBSETLUSER(H->login, dbh->username); } if (dbh->password) { DBSETLPWD(H->login, dbh->password); } #if !PHP_DBLIB_IS_MSSQL if (vars[0].optval) { DBSETLCHARSET(H->login, vars[0].optval); } #endif DBSETLAPP(H->login, vars[1].optval); #if PHP_DBLIB_IS_MSSQL dbprocerrhandle(H->login, (EHANDLEFUNC) error_handler); dbprocmsghandle(H->login, (MHANDLEFUNC) msg_handler); #endif H->link = dbopen(H->login, vars[2].optval); if (H->link == NULL) { strcat(location, "link"); goto cleanup; } /* dblib do not return more than this length from text/image */ DBSETOPT(H->link, DBTEXTLIMIT, "2147483647"); /* limit text/image from network */ DBSETOPT(H->link, DBTEXTSIZE, "2147483647"); if (vars[3].optval && FAIL == dbuse(H->link, vars[3].optval)) { strcat(location, "optval"); goto cleanup; } ret = 1; dbh->max_escaped_char_length = 2; dbh->alloc_own_columns = 1; cleanup: for (i = 0; i < sizeof(vars)/sizeof(vars[0]); i++) { if (vars[i].freeme) { efree(vars[i].optval); } } dbh->methods = &dblib_methods; dbh->driver_data = H; if (!ret) { zend_throw_exception_ex(php_pdo_get_exception(), 0 TSRMLS_CC, "SQLSTATE[%s] %s (severity %d) %s", //I want to findout the bug location ! DBLIB_G(err).sqlstate, DBLIB_G(err).dberrstr, DBLIB_G(err).severity, location); } return ret; } The PDO MSSQL work is correct, the bug never happen and never throws any PDOException after Complie php_pdo_mssql.dll ... I think my modification STOP all PDOException throw ... Anyone can tell me what is the problem ? ------------------------------------------------------------------------ [2009-09-17 01:00:02] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2009-09-10 15:38:07] Rockyjl at gmail dot com apache 2.2.13 + PHP 5.2 (5.2.11RC3-dev) VC6 x86 Thread Safe (2009-Sep-10 12:00:00) often happen error: [2009-09-10 23:30:10] 127.0.0.1 ApacheBench/2.3 SQLSTATE[] (null) (severity 0) ---------------- This patch cannot work ???!!! ------------------------------------------------------------------------ [2009-09-10 06:07:50] Rockyjl at gmail dot com PHP 5.3 (5.3.2-dev) VC6 x86 Thread Safe (2009-Sep-10 06:00:00) http://windows.php.net/downloads/snaps/php-5.3-win32-VC6-x86-latest.zip the bug happen too .... ------------------------------------------------------------------------ [2009-09-10 01:20:42] s...@php.net Automatic comment from SVN on behalf of felipe Revision: http://svn.php.net/viewvc/?view=revision&revision=288215 Log: - Possible fix for bug #49344 on Windows (pdo_mssql fails to connect,throws PDOException SQLSTATE[] (null) (severity 0)) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/49344 -- Edit this bug report at http://bugs.php.net/?id=49344&edit=1