mysqli_stmt_result_metadata
(no version information, might be only in CVS)
mysqli_stmt_result_metadata -- returns result set metadata
from a prepared statement
Description
Procedural style:
mixed mysqli_stmt_result_metadata ( object stmt)
Object oriented style (method):
class stmt {
mixed result_metadata ( void )
}
If a statement passed to mysqli_prepare() is one that produces
a result set, mysqli_stmt_result_metadata() returns the
result object that can be used to process the meta information
such as total number of fields and individual field information.
Note: This result set pointer can be passed as an argument
to any of the field-based functions that process result
set metadata, such as:
mysqli_num_fields()
mysqli_fetch_field()
mysqli_fetch_field_direct()
mysqli_fetch_fields()
mysqli_field_count()
mysqli_field_seek()
mysqli_field_tell()
mysqli_free_result()
The result set structure should be freed when you are done
with it, which you can do by passing it to mysqli_free_result()
Note: The result set returned by mysqli_stmt_result_metadata()
contains only metadata. It does not contain any row results.
The rows are obtained by using the statement handle with
mysqli_fetch().
Return values
mysqli_stmt_result_metadata() returns a result object or
FALSE if an error occured.
See also:
mysqli_prepare(), mysqli_free_result()
Example
Example 1. Object oriented style
<?php
$mysqli = new mysqli("localhost", "my_user",
"my_password", "test");
$mysqli->query("DROP TABLE IF EXISTS friends");
$mysqli->query("CREATE TABLE friends (id int, name
varchar(20))");
$mysqli->query("INSERT INTO friends VALUES (1,'Hartmut'),
(2, 'Ulf')");
$stmt = $mysqli->prepare("SELECT id, name FROM
friends");
$stmt->execute();
/* get resultset for metadata */
$result = $stmt->result_metadata();
/* retrieve field information from metadata result set
*/
$field = $result->fetch_field();
printf("Fieldname: %s\n", $field->name);
/* close resultset */
$result->close();
/* close connection */
$mysqli->close();
?>
Example 2. Procedural style
<?php
$link = mysqli_connect("localhost", "my_user",
"my_password", "test");
mysqli_query($link, "DROP TABLE IF EXISTS friends");
mysqli_query($link, "CREATE TABLE friends (id int,
name varchar(20))");
mysqli_query($link, "INSERT INTO friends VALUES (1,'Hartmut'),
(2, 'Ulf')");
$stmt = mysqli_prepare($link, "SELECT id, name FROM
friends");
mysqli_stmt_execute($stmt);
/* get resultset for metadata */
$result = mysqli_stmt_result_metadata($stmt);
/* retrieve field information from metadata result set
*/
$field = mysqli_fetch_field($result);
printf("Fieldname: %s\n", $field->name);
/* close resultset */
mysqli_free_result($result);
/* close connection */
mysqli_close($link);
?>