(PECL maxdb >= 1.0)
maxdb_stmt_result_metadata — Returns result set metadata from a prepared statement
Procedural style:
Object oriented style (method):
If a statement passed to maxdb_prepare() is one that produces a result set, maxdb_stmt_result_metadata() returns the result resource 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:
The result set structure should be freed when you are done with it, which you can do by passing it to maxdb_free_result()
Note: The result set returned by maxdb_stmt_result_metadata() contains only metadata. It does not contain any row results. The rows are obtained by using the statement handle with maxdb_fetch().
maxdb_stmt_result_metadata() returns a result resource or FALSE if an error occured.
Example #1 Object oriented style
<?php
$maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");
$maxdb->query("CREATE TABLE temp.friends (id int, name varchar(20))");
$maxdb->query("INSERT INTO temp.friends VALUES (1,'Hartmut')");
$maxdb->query("INSERT INTO temp.friends VALUES (2, 'Ulf')");
$stmt = $maxdb->prepare("SELECT id, name FROM temp.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 */
$maxdb->close();
?>
Example #2 Procedural style
<?php
$link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");
maxdb_query($link, "CREATE TABLE temp.friends (id int, name varchar(20))");
maxdb_query($link, "INSERT INTO temp.friends VALUES (1,'Hartmut')");
maxdb_query($link, "INSERT INTO temp.friends VALUES (2, 'Ulf')");
$stmt = maxdb_prepare($link, "SELECT id, name FROM temp.friends");
maxdb_stmt_execute($stmt);
/* get resultset for metadata */
$result = maxdb_stmt_result_metadata($stmt);
/* retrieve field information from metadata result set */
$field = maxdb_fetch_field($result);
printf("Fieldname: %s\n", $field->name);
/* close resultset */
maxdb_free_result($result);
/* close connection */
maxdb_close($link);
?>
上例的输出类似于:
Fieldname: ID