summaryrefslogtreecommitdiff
path: root/ext/mysqlnd
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2019-06-07 09:49:01 +0200
committerNikita Popov <nikita.ppv@gmail.com>2019-06-07 09:49:01 +0200
commita5f98139c93ab3b5698b3152ad4905e1172c7d8d (patch)
tree712f5b145a06592f819a30f0b1345d435739ba04 /ext/mysqlnd
parent5f2f6180b9ee5ed6324e6a64d13cf47b287f2d1b (diff)
parent7d1aa7534d756477d45f8fa63b5467589ccca031 (diff)
downloadphp-git-a5f98139c93ab3b5698b3152ad4905e1172c7d8d.tar.gz
Merge branch 'PHP-7.2' into PHP-7.3
Diffstat (limited to 'ext/mysqlnd')
-rw-r--r--ext/mysqlnd/mysqlnd_ps_codec.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/mysqlnd/mysqlnd_ps_codec.c b/ext/mysqlnd/mysqlnd_ps_codec.c
index f45cbaae3e..acc73334be 100644
--- a/ext/mysqlnd/mysqlnd_ps_codec.c
+++ b/ext/mysqlnd/mysqlnd_ps_codec.c
@@ -612,7 +612,7 @@ mysqlnd_stmt_execute_prepare_param_types(MYSQLND_STMT_DATA * stmt, zval ** copie
zval *parameter = &stmt->param_bind[i].zv;
ZVAL_DEREF(parameter);
- if (!Z_ISNULL_P(parameter) && (current_type == MYSQL_TYPE_LONG || current_type == MYSQL_TYPE_LONGLONG)) {
+ if (!Z_ISNULL_P(parameter) && (current_type == MYSQL_TYPE_LONG || current_type == MYSQL_TYPE_LONGLONG || current_type == MYSQL_TYPE_TINY)) {
/* always copy the var, because we do many conversions */
if (Z_TYPE_P(parameter) != IS_LONG &&
PASS != mysqlnd_stmt_copy_it(copies_param, parameter, stmt->param_count, i))
@@ -825,6 +825,13 @@ mysqlnd_stmt_execute_store_param_values(MYSQLND_STMT_DATA * stmt, zval * copies,
int4store(*p, Z_LVAL_P(data));
(*p) += 4;
break;
+ case MYSQL_TYPE_TINY:
+ if (Z_TYPE_P(data) == IS_STRING) {
+ goto send_string;
+ }
+ int1store(*p, Z_LVAL_P(data));
+ (*p)++;
+ break;
case MYSQL_TYPE_LONG_BLOB:
if (stmt->param_bind[i].flags & MYSQLND_PARAM_BIND_BLOB_USED) {
stmt->param_bind[i].flags &= ~MYSQLND_PARAM_BIND_BLOB_USED;