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