Función PHP mysqli_field_tell ()
Definición y uso
Un objeto de resultado PHP (de la clase mysqli_result) representa el resultado de MySQL, devuelto por las consultas SELECT o, DESCRIBE o EXPLAIN. El cursor / puntero de campo de un objeto de resultado apunta a los campos que contiene (valores de columna).
La función mysqli_field_tell () acepta un objeto de resultado como parámetro, recupera y devuelve la posición actual del cursor de campo en el objeto dado.
Sintaxis
mysqli_field_tell($result);
Parámetros
No Señor | Descripción de parámetros |
---|---|
1 |
result(Mandatory) Este es un identificador que representa un objeto de resultado. |
Valores devueltos
La función PHP mysqli_field_tell () devuelve un valor entero que especifica la posición actual del cursor de campo en el objeto de resultado dado.
Versión PHP
Esta función se introdujo por primera vez en PHP Versión 5 y funciona en todas las versiones posteriores.
Ejemplo
El siguiente ejemplo demuestra el uso de la función mysqli_field_tell () (en estilo procedimental):
<?php
$con = mysqli_connect("localhost", "root", "password", "mydb");
mysqli_query($con, "CREATE TABLE myplayers(ID INT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Place_Of_Birth VARCHAR(255), Country VARCHAR(255))");
print("Table Created.....\n");
mysqli_query($con, "INSERT INTO myplayers values(1, 'Sikhar', 'Dhawan', 'Delhi', 'India')");
mysqli_query($con, "INSERT INTO myplayers values(2, 'Jonathan', 'Trott', 'CapeTown', 'SouthAfrica')");
mysqli_query($con, "INSERT INTO myplayers values(3, 'Kumara', 'Sangakkara', 'Matale', 'Srilanka')");
print("Record Inserted.....\n");
//Retrieving the contents of the table
$res = mysqli_query($con, "SELECT * FROM myplayers");
//Fetching the fields
while($info = mysqli_fetch_field($res)){
//Current field
$currentfield = mysqli_field_tell($res);
print("Current Field: ".$currentfield."\n");
print("Name: ".$info->name."\n");
print("Table: ".$info->table."\n");
print("Type: ".$info->type."\n");
}
//Closing the statement
mysqli_free_result($res);
//Closing the connection
mysqli_close($con);
?>
Esto producirá el siguiente resultado:
Table Created.....
Record Inserted.....
Current Field: 1
Name: ID
Table: myplayers
Type: 3
Current Field: 2
Name: First_Name
Table: myplayers
Type: 253
Current Field: 3
Name: Last_Name
Table: myplayers
Type: 253
Current Field: 4
Name: Place_Of_Birth
Table: myplayers
Type: 253
Current Field: 5
Name: Country
Table: myplayers
Type: 253
Ejemplo
En el estilo orientado a objetos, la sintaxis de esta función es $ resultado-> campo_actual; A continuación se muestra el ejemplo de esta función en el estilo orientado a objetos $ minus;
<?php
//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");
$con -> query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
$con -> query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("Table Created.....\n");
$stmt = $con -> prepare( "SELECT * FROM Test WHERE Name in(?, ?)");
$stmt -> bind_param("ss", $name1, $name2);
$name1 = 'Raju';
$name2 = 'Rahman';
//Executing the statement
$stmt->execute();
//Retrieving the result
$result = $stmt->get_result();
//Current Field
$info = $result->fetch_field();
$field = $result->current_field;
print("Current Field: ".$field."\n");
print("Field Name: ".$info->name);
//Closing the statement
$stmt->close();
//Closing the connection
$con->close();
?>
Esto producirá el siguiente resultado:
Table Created.....
Current Field: 1
Field Name: Name