mirror of
https://github.com/php/php-src.git
synced 2024-09-21 18:07:23 +00:00
d6a0b3af68
RFC: https://wiki.php.net/rfc/pdo_driver_specific_subclasses Closes GH-12804 Co-Authored-By: Danack <Danack@basereality.com>
48 lines
805 B
PHP
48 lines
805 B
PHP
--TEST--
|
|
PDO_Firebird: support EXECUTE BLOCK
|
|
--EXTENSIONS--
|
|
pdo_firebird
|
|
--SKIPIF--
|
|
<?php require('skipif.inc');
|
|
?>
|
|
--XLEAK--
|
|
A bug in firebird causes a memory leak when calling `isc_attach_database()`.
|
|
See https://github.com/FirebirdSQL/firebird/issues/7849
|
|
--FILE--
|
|
<?php
|
|
require("testdb.inc");
|
|
|
|
$dbh = getDbConnection();
|
|
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
|
|
|
|
$sql = '
|
|
execute block (a int = :e, b int = :d)
|
|
returns (N int, M int)
|
|
as
|
|
declare z int;
|
|
begin
|
|
select 10
|
|
from rdb$database
|
|
into :z;
|
|
|
|
n = a + b + z;
|
|
m = z * a;
|
|
suspend;
|
|
end
|
|
';
|
|
|
|
$query = $dbh->prepare($sql);
|
|
$query->execute(['d' => 1, 'e' => 2]);
|
|
$row = $query->fetch(\PDO::FETCH_OBJ);
|
|
var_dump($row->N);
|
|
var_dump($row->M);
|
|
|
|
unset($query);
|
|
unset($dbh);
|
|
echo "done\n";
|
|
?>
|
|
--EXPECT--
|
|
int(13)
|
|
int(20)
|
|
done
|