rfc:mysqli_bind_in_execute
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
rfc:mysqli_bind_in_execute [2021/02/11 19:10] – created dharman | rfc:mysqli_bind_in_execute [2021/06/11 11:55] (current) – Implemented dharman | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== PHP RFC: mysqli bind in execute ====== | ====== PHP RFC: mysqli bind in execute ====== | ||
- | * Version: | + | * Version: |
* Date: 2021-02-11 | * Date: 2021-02-11 | ||
* Author: Kamil Tekiela, dharman@php.net | * Author: Kamil Tekiela, dharman@php.net | ||
- | * Status: | + | |
+ | * Implementation: | ||
+ | | ||
Line 10: | Line 12: | ||
===== Proposal ===== | ===== Proposal ===== | ||
- | I would like to propose adding a new optional argument to %%mysqli_stmt:: | + | I would like to propose adding a new optional argument to %%mysqli_stmt:: |
This proposal tries to address the following mysqli limitations: | This proposal tries to address the following mysqli limitations: | ||
Line 41: | Line 43: | ||
$stmt = $mysqli-> | $stmt = $mysqli-> | ||
$stmt-> | $stmt-> | ||
+ | </ | ||
+ | |||
+ | |||
+ | It also works in procedural style. | ||
+ | <code PHP> | ||
+ | $stmt = mysqli_prepare($mysqli, | ||
+ | // $stmt-> | ||
+ | mysqli_stmt_execute($stmt, | ||
+ | // with the existing alias | ||
+ | mysqli_execute($stmt, | ||
</ | </ | ||
Line 51: | Line 63: | ||
While the idea came from PDO bind-in-execute implementation, | While the idea came from PDO bind-in-execute implementation, | ||
- | - Array keys are completely ignored. mysqli doesn' | + | - Only list arrays |
- Re-binding empty array throws an error in mysqli. PDO simply ignores an empty array and continues to use previously bound values. | - Re-binding empty array throws an error in mysqli. PDO simply ignores an empty array and continues to use previously bound values. | ||
Line 59: | Line 71: | ||
===== Backward Incompatible Changes ===== | ===== Backward Incompatible Changes ===== | ||
- | None that I can find. | + | Classes extending %%mysqli_stmt:: |
===== Proposed PHP Version(s) ===== | ===== Proposed PHP Version(s) ===== | ||
- | Next PHP 8.x | + | Next PHP 8.X (8.1) |
===== RFC Impact ===== | ===== RFC Impact ===== | ||
Line 72: | Line 84: | ||
==== php.ini Defaults ==== | ==== php.ini Defaults ==== | ||
None. | None. | ||
- | |||
- | ===== Open Issues ===== | ||
- | |||
===== Unaffected PHP Functionality ===== | ===== Unaffected PHP Functionality ===== | ||
Line 85: | Line 94: | ||
Simple yes/no vote. | Simple yes/no vote. | ||
- | ===== Patches | + | Voting started on 2021-03-08 |
- | The implementation is available at https:// | + | |
+ | <doodle title=" | ||
+ | * Yes | ||
+ | * No | ||
+ | </doodle> | ||
===== Implementation ===== | ===== Implementation ===== | ||
- | After the project is implemented, | + | [[https:// |
- | | + | |
- | - a link to the git commit(s) | + | |
- | - a link to the PHP manual entry for the feature | + | |
- | - a link to the language specification section (if any) | + | |
===== References ===== | ===== References ===== | ||
- | Links to external references, discussions or RFCs | + | https:// |
- | + | ||
- | ===== Rejected Features ===== | + | |
rfc/mysqli_bind_in_execute.1613070630.txt.gz · Last modified: 2021/02/11 19:10 by dharman