Skip to content

Commit ac0bbea

Browse files
committed
Merge branch 'PHP-7.0' into PHP-7.1
2 parents 2334d83 + ccf39dd commit ac0bbea

File tree

2 files changed

+27
-6
lines changed

2 files changed

+27
-6
lines changed

ext/sqlite3/sqlite3.c

+6-2
Original file line numberDiff line numberDiff line change
@@ -555,7 +555,9 @@ PHP_METHOD(sqlite3, query)
555555
break;
556556
}
557557
default:
558-
php_sqlite3_error(db_obj, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db));
558+
if (!EG(exception)) {
559+
php_sqlite3_error(db_obj, "Unable to execute statement: %s", sqlite3_errmsg(db_obj->db));
560+
}
559561
sqlite3_finalize(stmt_obj->stmt);
560562
stmt_obj->initialised = 0;
561563
zval_dtor(return_value);
@@ -1611,7 +1613,9 @@ PHP_METHOD(sqlite3stmt, execute)
16111613
sqlite3_reset(stmt_obj->stmt);
16121614

16131615
default:
1614-
php_sqlite3_error(stmt_obj->db_obj, "Unable to execute statement: %s", sqlite3_errmsg(sqlite3_db_handle(stmt_obj->stmt)));
1616+
if (!EG(exception)) {
1617+
php_sqlite3_error(stmt_obj->db_obj, "Unable to execute statement: %s", sqlite3_errmsg(sqlite3_db_handle(stmt_obj->stmt)));
1618+
}
16151619
zval_dtor(return_value);
16161620
RETURN_FALSE;
16171621
}

ext/sqlite3/tests/bug72668.phpt

+21-4
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,36 @@ if (!extension_loaded('sqlite3')) die('skip'); ?>
66
--FILE--
77
<?php
88
function my_udf_md5($string) {
9-
throw new \Exception("test exception\n");
9+
throw new \Exception("test exception\n");
1010
}
1111

1212
$db = new SQLite3(':memory:');
1313
$db->createFunction('my_udf_md5', 'my_udf_md5');
1414

1515
try {
16-
$result = $db->querySingle('SELECT my_udf_md5("test")');
17-
var_dump($result);
16+
$result = $db->query('SELECT my_udf_md5("test")');
17+
var_dump($result);
1818
}
1919
catch(\Exception $e) {
20-
echo "Exception: ".$e->getMessage();
20+
echo "Exception: ".$e->getMessage();
21+
}
22+
try {
23+
$result = $db->querySingle('SELECT my_udf_md5("test")');
24+
var_dump($result);
25+
}
26+
catch(\Exception $e) {
27+
echo "Exception: ".$e->getMessage();
28+
}
29+
$statement = $db->prepare('SELECT my_udf_md5("test")');
30+
try {
31+
$result = $statement->execute();
32+
var_dump($result);
33+
}
34+
catch(\Exception $e) {
35+
echo "Exception: ".$e->getMessage();
2136
}
2237
?>
2338
--EXPECT--
2439
Exception: test exception
40+
Exception: test exception
41+
Exception: test exception

0 commit comments

Comments
 (0)