Commit dbeb8a77fbf for php
commit dbeb8a77fbf1d526b78003e0364fc15da1c93231
Merge: 602ba3ac970 d5696b8cd10
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date: Sun Oct 18 15:41:08 2026 -0400
Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
Fix GH-24372: Keep stmt->executed set across PDOStatement::execute()
diff --cc ext/pdo/php_pdo_driver.h
index 6b09e861fed,0d39bf9f463..bac69fad2f8
--- a/ext/pdo/php_pdo_driver.h
+++ b/ext/pdo/php_pdo_driver.h
@@@ -576,9 -566,22 +576,10 @@@ struct _pdo_stmt_t
/* if true, the statement supports placeholders and can implement
* bindParam() for its prepared statements, if false, PDO should
* emulate prepare and bind on its behalf */
- unsigned supports_placeholders:2;
- unsigned in_param_event:1;
- unsigned execute_incomplete:1;
-
- unsigned _reserved:27;
-
- /* the number of columns in the result set; not valid until after
- * the statement has been executed at least once. In some cases, might
- * not be valid until fetch (at the driver level) has been called at least once.
- * */
- int column_count;
- struct pdo_column_data *columns;
-
- /* we want to keep the dbh alive while we live, so we own a reference */
- zval database_object_handle;
- pdo_dbh_t *dbh;
+ uint16_t supports_placeholders:2;
+ uint16_t in_param_event:1;
- uint16_t reserved: 11;
++ uint16_t execute_incomplete:1;
++ uint16_t reserved: 10;
/* keep track of bound input parameters. Some drivers support
* input/output parameters, but you can't rely on that working */