Skip to content

Commit 81967a2

Browse files
committed
pdo update
1 parent a9ab01f commit 81967a2

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

ext/pdo/pdo_stmt.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,9 +269,14 @@ static bool really_register_bound_param(struct pdo_bound_param_data *param, pdo_
269269
}
270270

271271
if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_STR && param->max_value_len <= 0 && !Z_ISNULL_P(parameter)) {
272+
zend_bool is_false = (Z_TYPE_P(parameter) == IS_FALSE);
272273
if (!try_convert_to_string(parameter)) {
273274
return false;
274275
}
276+
/* the pgsql's driver does not handle empty string for false bound parameters */
277+
if (is_false) {
278+
ZVAL_STR(parameter, ZSTR_CHAR('0'));
279+
}
275280
} else if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_INT && (Z_TYPE_P(parameter) == IS_FALSE || Z_TYPE_P(parameter) == IS_TRUE)) {
276281
convert_to_long(parameter);
277282
} else if (PDO_PARAM_TYPE(param->param_type) == PDO_PARAM_BOOL && Z_TYPE_P(parameter) == IS_LONG) {

0 commit comments

Comments
 (0)