From e2ed7b551ff519eed4c373be08e9537f4bc4e12e Mon Sep 17 00:00:00 2001 From: Ilia Alshanetsky Date: Sun, 2 Dec 2007 21:00:06 +0000 Subject: [PATCH] MFB: Fixed bug #43457 (Prepared statement with incorrect parms doens't throw exception with pdo_pgsql driver) --- NEWS | 2 ++ ext/pdo_pgsql/pgsql_statement.c | 2 +- ext/pdo_pgsql/tests/bug36727.phpt | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 2ac5ec4ff5..1a87ce1a8d 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,8 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2008, PHP 5.2.6 +- Fixed bug #43457 (Prepared statement with incorrect parms doens't + throw exception with pdo_pgsql driver). (Ilia) - Fixed bug #43386 (array_globals not reset to 0 properly on init). (Ilia) - Fixed bug #43377 (PHP crashes with invalid argument for DateTimeZone). (Ilia) - Fixed bug #43373 (pcntl_fork() should not raise E_ERROR on error). (Ilia) diff --git a/ext/pdo_pgsql/pgsql_statement.c b/ext/pdo_pgsql/pgsql_statement.c index b640974d44..aa54886fce 100644 --- a/ext/pdo_pgsql/pgsql_statement.c +++ b/ext/pdo_pgsql/pgsql_statement.c @@ -238,7 +238,7 @@ static int pgsql_stmt_param_hook(pdo_stmt_t *stmt, struct pdo_bound_param_data * param->name, param->namelen + 1, (void**)&nameptr)) { param->paramno = atoi(nameptr + 1) - 1; } else { - pdo_pgsql_error_stmt(stmt, PGRES_FATAL_ERROR, "HY093"); + pdo_raise_impl_error(stmt->dbh, stmt, "HY093", param->name TSRMLS_CC); return 0; } } diff --git a/ext/pdo_pgsql/tests/bug36727.phpt b/ext/pdo_pgsql/tests/bug36727.phpt index c6f7c8a80f..13197edcc6 100644 --- a/ext/pdo_pgsql/tests/bug36727.phpt +++ b/ext/pdo_pgsql/tests/bug36727.phpt @@ -19,5 +19,6 @@ var_dump($stmt->bindValue(':test', 1, PDO::PARAM_INT)); echo "Done\n"; ?> --EXPECT-- +Warning: PDOStatement::bindValue(): SQLSTATE[HY093]: Invalid parameter number: :test in %s/bug36727.php on line %d bool(false) -Done +Done \ No newline at end of file -- 2.50.1