mirror of
https://github.com/php/php-src.git
synced 2026-04-21 15:08:16 +02:00
1f42777927
The DB connection should be provided in all cases as the first argument. The overloaded function signatures will be removed in the future. Warn about this change. Part of https://wiki.php.net/rfc/deprecations_php_8_1.
87 lines
2.0 KiB
PHP
87 lines
2.0 KiB
PHP
--TEST--
|
|
PostgreSQL pg_select() (9.0+)
|
|
--EXTENSIONS--
|
|
pgsql
|
|
--SKIPIF--
|
|
<?php
|
|
include("skipif.inc");
|
|
skip_server_version('9.0', '<');
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
error_reporting(E_ALL);
|
|
|
|
include 'config.inc';
|
|
|
|
$db = pg_connect($conn_str);
|
|
pg_query($db, "SET bytea_output = 'hex'");
|
|
|
|
$fields = array('num'=>'1234', 'str'=>'ABC', 'bin'=>'XYZ');
|
|
$ids = array('num'=>'1234');
|
|
|
|
$res = pg_select($db, $table_name, $ids) or print "Error\n";
|
|
var_dump($res);
|
|
echo pg_select($db, $table_name, $ids, PGSQL_DML_STRING)."\n";
|
|
echo pg_select($db, $table_name, $ids, PGSQL_DML_STRING|PGSQL_DML_ESCAPE)."\n";
|
|
|
|
/* Invalid values */
|
|
try {
|
|
$converted = pg_select($db, $table_name, [5 => 'AAA']);
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage(), \PHP_EOL;
|
|
}
|
|
try {
|
|
$converted = pg_select($db, $table_name, ['AAA']);
|
|
} catch (\ValueError $e) {
|
|
echo $e->getMessage(), \PHP_EOL;
|
|
}
|
|
try {
|
|
$converted = pg_select($db, $table_name, ['num' => []]);
|
|
} catch (\TypeError $e) {
|
|
echo $e->getMessage(), \PHP_EOL;
|
|
}
|
|
try {
|
|
$converted = pg_select($db, $table_name, ['num' => new stdClass()]);
|
|
} catch (\TypeError $e) {
|
|
echo $e->getMessage(), \PHP_EOL;
|
|
}
|
|
try {
|
|
$converted = pg_select($db, $table_name, ['num' => $db]);
|
|
var_dump($converted);
|
|
} catch (\TypeError $e) {
|
|
echo $e->getMessage(), \PHP_EOL;
|
|
}
|
|
|
|
echo "Ok\n";
|
|
|
|
?>
|
|
--EXPECT--
|
|
array(2) {
|
|
[0]=>
|
|
array(3) {
|
|
["num"]=>
|
|
string(4) "1234"
|
|
["str"]=>
|
|
string(3) "AAA"
|
|
["bin"]=>
|
|
string(8) "\x424242"
|
|
}
|
|
[1]=>
|
|
array(3) {
|
|
["num"]=>
|
|
string(4) "1234"
|
|
["str"]=>
|
|
string(3) "AAA"
|
|
["bin"]=>
|
|
string(8) "\x424242"
|
|
}
|
|
}
|
|
SELECT * FROM "php_pgsql_test" WHERE "num"=1234;
|
|
SELECT * FROM "php_pgsql_test" WHERE "num"='1234';
|
|
Array of values must be an associative array with string keys
|
|
Array of values must be an associative array with string keys
|
|
Values must be of type string|int|float|bool|null, array given
|
|
Values must be of type string|int|float|bool|null, stdClass given
|
|
Values must be of type string|int|float|bool|null, PgSql\Connection given
|
|
Ok
|