From 1860ef22eba4fed1e360482cfde32b3bfa16fcc5 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Wed, 16 Dec 2020 20:02:45 +0100 Subject: [PATCH] Fix #80521: Parameters with underscores no longer recognized We have to use the proper value for the bitmask. --- NEWS | 4 ++++ ext/pdo_firebird/firebird_driver.c | 2 +- ext/pdo_firebird/tests/bug_80521.phpt | 21 +++++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 ext/pdo_firebird/tests/bug_80521.phpt diff --git a/NEWS b/NEWS index c75d6e6549..8b0ce95600 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ PHP NEWS . Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to interpret bit columns). (Nikita) +- PDO_Firebird: + . Fixed bug #80521 (Parameters with underscores no longer recognized). (cmb, + Simonov Denis) + 07 Jan 2021, PHP 8.0.1 - Core: diff --git a/ext/pdo_firebird/firebird_driver.c b/ext/pdo_firebird/firebird_driver.c index c27a9e2ed5..7721b64de5 100644 --- a/ext/pdo_firebird/firebird_driver.c +++ b/ext/pdo_firebird/firebird_driver.c @@ -136,7 +136,7 @@ static const char classes_array[] = { /* 092 \ */ 0, /* 093 ] */ 0, /* 094 ^ */ 0, - /* 095 _ */ 65, /* CHR_IDENT | CHR_INTRODUCER */ + /* 095 _ */ 68, /* CHR_IDENT | CHR_INTRODUCER */ /* 096 ` */ 0, /* 097 a */ 37, /* CHR_LETTER | CHR_IDENT | CHR_HEX */ /* 098 b */ 37, /* CHR_LETTER | CHR_IDENT | CHR_HEX */ diff --git a/ext/pdo_firebird/tests/bug_80521.phpt b/ext/pdo_firebird/tests/bug_80521.phpt new file mode 100644 index 0000000000..dc5916d546 --- /dev/null +++ b/ext/pdo_firebird/tests/bug_80521.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #80521 (Parameters with underscores no longer recognized) +--SKIPIF-- + +--FILE-- +exec("CREATE TABLE bug80521 (foo INTEGER)"); +var_dump($dbh->prepare("SELECT foo FROM bug80521 WHERE foo = :foo_bar")); +?> +--EXPECTF-- +object(PDOStatement)#%d (1) { + ["queryString"]=> + string(45) "SELECT foo FROM bug80521 WHERE foo = :foo_bar" +} +--CLEAN-- +exec("DROP TABLE bug80521"); +?> -- 2.50.1