Skip to content

Commit 1860ef2

Browse files
committed
Fix #80521: Parameters with underscores no longer recognized
We have to use the proper value for the bitmask.
1 parent c567016 commit 1860ef2

File tree

3 files changed

+26
-1
lines changed

3 files changed

+26
-1
lines changed

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ PHP NEWS
99
. Fixed bug #67983 (mysqlnd with MYSQLI_OPT_INT_AND_FLOAT_NATIVE fails to
1010
interpret bit columns). (Nikita)
1111

12+
- PDO_Firebird:
13+
. Fixed bug #80521 (Parameters with underscores no longer recognized). (cmb,
14+
Simonov Denis)
15+
1216
07 Jan 2021, PHP 8.0.1
1317

1418
- Core:

ext/pdo_firebird/firebird_driver.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ static const char classes_array[] = {
136136
/* 092 \ */ 0,
137137
/* 093 ] */ 0,
138138
/* 094 ^ */ 0,
139-
/* 095 _ */ 65, /* CHR_IDENT | CHR_INTRODUCER */
139+
/* 095 _ */ 68, /* CHR_IDENT | CHR_INTRODUCER */
140140
/* 096 ` */ 0,
141141
/* 097 a */ 37, /* CHR_LETTER | CHR_IDENT | CHR_HEX */
142142
/* 098 b */ 37, /* CHR_LETTER | CHR_IDENT | CHR_HEX */

ext/pdo_firebird/tests/bug_80521.phpt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
--TEST--
2+
Bug #80521 (Parameters with underscores no longer recognized)
3+
--SKIPIF--
4+
<?php require('skipif.inc'); ?>
5+
--FILE--
6+
<?php
7+
require 'testdb.inc';
8+
9+
$dbh->exec("CREATE TABLE bug80521 (foo INTEGER)");
10+
var_dump($dbh->prepare("SELECT foo FROM bug80521 WHERE foo = :foo_bar"));
11+
?>
12+
--EXPECTF--
13+
object(PDOStatement)#%d (1) {
14+
["queryString"]=>
15+
string(45) "SELECT foo FROM bug80521 WHERE foo = :foo_bar"
16+
}
17+
--CLEAN--
18+
<?php
19+
require 'testdb.inc';
20+
$dbh->exec("DROP TABLE bug80521");
21+
?>

0 commit comments

Comments
 (0)