static int register_bound_param(INTERNAL_FUNCTION_PARAMETERS, pdo_stmt_t *stmt, int is_param)
{
struct pdo_bound_param_data param = {0};
+ int name_strlen;
param.paramno = -1;
param.param_type = PDO_PARAM_STR;
if (stmt->dbh->placeholders_can_be_strings || !is_param) {
if (FAILURE == zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET,
ZEND_NUM_ARGS() TSRMLS_CC, "sz|llz!",
- ¶m.name, ¶m.namelen, ¶m.parameter, ¶m.param_type,
+ ¶m.name, &name_strlen, ¶m.parameter, ¶m.param_type,
¶m.max_value_len,
¶m.driver_params)) {
if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|llz!", ¶m.paramno,
return 0;
}
}
+ /* since we're hashing this, we need the null byte too */
+ param.namelen = name_strlen + 1;
} else if (FAILURE == zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|llz!", ¶m.paramno,
¶m.parameter, ¶m.param_type, ¶m.max_value_len, ¶m.driver_params)) {
return 0;