wez Sat Sep 10 16:58:22 2005 EDT Modified files: (Branch: PHP_5_1) /php-src/ext/pdo pdo.c pdo_sql_parser.re Log: actually register PDO_PARAM_BOOL as a constant (doh!). When emulating bound parameters, pass booleans via the driver's quoter method, so that is has an opportunity to tweak it. Refs #33876: PDO misquotes/miscasts bool(false) http://cvs.php.net/diff.php/php-src/ext/pdo/pdo.c?r1=1.57&r2=1.57.2.1&ty=u Index: php-src/ext/pdo/pdo.c diff -u php-src/ext/pdo/pdo.c:1.57 php-src/ext/pdo/pdo.c:1.57.2.1 --- php-src/ext/pdo/pdo.c:1.57 Tue Jul 26 22:39:11 2005 +++ php-src/ext/pdo/pdo.c Sat Sep 10 16:58:19 2005 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo.c,v 1.57 2005/07/27 02:39:11 wez Exp $ */ +/* $Id: pdo.c,v 1.57.2.1 2005/09/10 20:58:19 wez Exp $ */ #ifdef HAVE_CONFIG_H #include "config.h" @@ -295,6 +295,7 @@ le_ppdo = zend_register_list_destructors_ex(NULL, php_pdo_pdbh_dtor, "PDO persistent database", module_number); + REGISTER_LONG_CONSTANT("PDO_PARAM_BOOL", (long)PDO_PARAM_BOOL, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_PARAM_NULL", (long)PDO_PARAM_NULL, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_PARAM_INT", (long)PDO_PARAM_INT, CONST_CS|CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PDO_PARAM_STR", (long)PDO_PARAM_STR, CONST_CS|CONST_PERSISTENT); http://cvs.php.net/diff.php/php-src/ext/pdo/pdo_sql_parser.re?r1=1.28.2.1&r2=1.28.2.2&ty=u Index: php-src/ext/pdo/pdo_sql_parser.re diff -u php-src/ext/pdo/pdo_sql_parser.re:1.28.2.1 php-src/ext/pdo/pdo_sql_parser.re:1.28.2.2 --- php-src/ext/pdo/pdo_sql_parser.re:1.28.2.1 Sat Sep 3 20:47:59 2005 +++ php-src/ext/pdo/pdo_sql_parser.re Sat Sep 10 16:58:19 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: pdo_sql_parser.re,v 1.28.2.1 2005/09/04 00:47:59 edink Exp $ */ +/* $Id: pdo_sql_parser.re,v 1.28.2.2 2005/09/10 20:58:19 wez Exp $ */ #include "php.h" #include "php_pdo_driver.h" @@ -210,8 +210,6 @@ plc->freeq = 0; break; - case IS_BOOL: - convert_to_long(param->parameter); case IS_LONG: case IS_DOUBLE: convert_to_string(param->parameter); @@ -220,6 +218,8 @@ plc->freeq = 0; break; + case IS_BOOL: + convert_to_long(param->parameter); default: convert_to_string(param->parameter); if (!stmt->dbh->methods->quoter(stmt->dbh, Z_STRVAL_P(param->parameter),
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php