I'm running into problems knowing when and what to call after mysqli_stmt_execute
How do you know when to call
- mysqli_stmt_bind_result
- mysqli_stmt_store_result
- mysqli_stmt_fetch
I'm running into problems knowing when and what to call after mysqli_stmt_execute
How do you know when to call
mysqli_stmt_bind_result()
tells mysqli which variable you want to be populate when you fetch a row, but it doesn't fetch()
anything yet. This is necessary to call once, before you call fetch.
mysqli_stmt_store_result()
sets an optional behavior so that the client downloads all rows when you fetch()
the first row, and caches the whole result set in the client (i.e. PHP). Subsequent fetch()
calls will simply iterate over this client-cached result set. But setting this option itself does not cause a fetch() yet either. This function is totally optional.
mysqli_stmt_fetch()
returns the next row in the result set, and causes it to be stored in a bound variable. You must call this function in a loop, for each row of the result set. That is, until the fetch returns false.
The process of querying an SQL database contains these steps:
The functions you ask about have these roles in this process:
fetch()
those variables contain result data; i.e. tell PHP which variables it should put the result into