mirror of
https://github.com/php/php-src.git
synced 2024-11-27 20:03:40 +08:00
Fix #76665: SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle
We need to ensure that a zval IS_DOUBLE before we access it as such. In this case we apply common type juggling to do so.
This commit is contained in:
parent
40bd84d3e3
commit
ed7e3bc70a
4
NEWS
4
NEWS
@ -13,6 +13,10 @@ PHP NEWS
|
||||
- PDO_Firebird:
|
||||
. Fixed bug #76488 (Memory leak when fetching a BLOB field). (Simonov Denis)
|
||||
|
||||
- SQLite3:
|
||||
. Fixed #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle).
|
||||
(cmb)
|
||||
|
||||
- Standard:
|
||||
. Fixed bug #68553 (array_column: null values in $index_key become incrementing
|
||||
keys in result). (Laruence)
|
||||
|
@ -1562,7 +1562,7 @@ PHP_METHOD(sqlite3stmt, execute)
|
||||
break;
|
||||
|
||||
case SQLITE_FLOAT:
|
||||
/* convert_to_double(parameter);*/
|
||||
convert_to_double(parameter);
|
||||
sqlite3_bind_double(stmt_obj->stmt, param->param_number, Z_DVAL_P(parameter));
|
||||
break;
|
||||
|
||||
|
19
ext/sqlite3/tests/bug76665.phpt
Normal file
19
ext/sqlite3/tests/bug76665.phpt
Normal file
@ -0,0 +1,19 @@
|
||||
--TEST--
|
||||
Bug #76665 (SQLite3Stmt::bindValue() with SQLITE3_FLOAT doesn't juggle)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('sqlite3')) die('skip sqlite3 extension not available');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$db = new SQLite3(':memory:');
|
||||
$db->exec("CREATE TABLE foo (bar REAL)");
|
||||
$stmt = $db->prepare("INSERT INTO foo VALUES (:bar)");
|
||||
$stmt->bindValue(':bar', 17, SQLITE3_FLOAT);
|
||||
$stmt->execute();
|
||||
var_dump($db->querySingle("SELECT bar FROM foo LIMIT 1"));
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
float(17)
|
||||
===DONE===
|
Loading…
Reference in New Issue
Block a user