Documentation Home
Connectors and APIs Manual
Download this Manual
PDF (US Ltr) - 5.3Mb
PDF (A4) - 5.3Mb

Connectors and APIs Manual  /  ...  /  mysqli_stmt::result_metadata, mysqli_stmt_result_metadata mysqli_stmt::result_metadata, mysqli_stmt_result_metadata

Copyright 1997-2022 the PHP Documentation Group.

  • mysqli_stmt::result_metadata


    Returns result set metadata from a prepared statement


Object-oriented style

public mysqli_result|false mysqli_stmt::result_metadata();

Procedural style

mysqli_result|false mysqli_stmt_result_metadata(mysqli_stmt statement);

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.


This result set pointer can be passed as an argument to any of the field-based functions that process result set metadata, such as:

The result set structure should be freed when you are done with it, which you can do by passing it to mysqli_free_result


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_stmt_fetch.



Procedural style only: A mysqli_stmt object returned by mysqli_stmt_init.

Return Values

Returns a result object or false if an error occurred.


Example 7.103 Object-oriented style

$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");
/* 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 */
/* close connection */

Example 7.104 Procedural style

$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");
/* 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 */
/* close connection */

See Also