Blog de programación, errores, soluciones

Chose Language:
Author: Admin/Publisher |finished |not checked

PHP mysqli_result

Representa el set de resultados obtenido luego de correr una consulta.

contenido
Sinopsis
class mysqli_result implements IteratorAggregate {
/* Properties */
public readonly int $current_field;
public readonly int $field_count;
public readonly ?array $lengths;
public readonly int|string $num_rows;
public int $type;
/* Methods */
public __construct(mysqli $mysql, int $result_mode = MYSQLI_STORE_RESULT)
public data_seek(int $offset): bool
public fetch_all(int $mode = MYSQLI_NUM): array
public fetch_array(int $mode = MYSQLI_BOTH): array|null|false
public fetch_assoc(): array|null|false
public fetch_column(int $column = 0): null|int|float|string|false
public fetch_field_direct(int $index): object|false
public fetch_field(): object|false
public fetch_fields(): array
public fetch_object(string $class = "stdClass", array $constructor_args = []): object|null|false
public fetch_row(): array|null|false
public field_seek(int $index): bool
public free(): void
public close(): void
public free_result(): void
public getIterator(): Iterator
}

Podemos obtener objetos mysqli_result de varias maneras tanto desde un objeto mysqli como desde un objeto mysqli_stmt.

Desde mysqli tenemos los siguientes metodos:

  • mysqli reap_async_query
  • mysqli store_result
  • mysqli use_result

En tanto, en mysqli_stmt tenemos:

  • mysqli_stmt get_result
  • mysqli_stmt result_metadata

Por último podríamos utilizar su constructor

Antes de entrar a ver las propiedades y métodos, debemos recordar que antes de utilizar las propiedades o métodos ya habremos hecho una query(consulta) o prepare statement(sentencia preparada)

Propiedades

https://blastcoding.com/php-mysqli_result/#propiedades

En las siguientes propiedades verá la variable $mysqli_result está en las sintaxis estará alojando un objeto mysqli_result

$current_field

https://blastcoding.com/php-mysqli_result/#current_field

Obtiene la posición del campo actual de un resultset pointer. necesitarás utilizar fetch_field para poder usar esta propiedad

Sintaxis / Sintax
$mysqli_result->current_field;

$field_count

https://blastcoding.com/php-mysqli_result/#field_count

Cantidad de campos de un set resultados.

Sintaxis / Sintax
$mysqli_result->field_count;

$lengths

https://blastcoding.com/php-mysqli_result/#lengths

Devuelve la longitud de las columnas de la fila acual del set de resultados en forma de array, puede devolver null, false en caso de error.

Sintaxis / Sintax
$mysqli_result->lengths;

$num_rows

https://blastcoding.com/php-mysqli_result/#num_rows

Número de filas devueltas en el resultado.

Sintaxis / Sintax
$mysqli_result->num_rows;

$type

https://blastcoding.com/php-mysqli_result/#type

Indica si el resultado está almacenado en buffer o no(unbuffered) como un entero(int), estos valores están representados por constantes MYSQLI_STORE_RESULT y MYSQLI_USE_RESULT respectivamente.

Sintaxis / Sintax
$mysqli_result->type;

Métodos

https://blastcoding.com/php-mysqli_result/#metodos

En las siguientes sintaxis utilizaremos la variable $result que contendrá un objeto mysqli_result, en este caso tenga en cuenta que para obtener un mysqli_result lo habremos hecho de alguna de las maneras que vimos en el inicio o con el constructor.

__construct

https://blastcoding.com/php-mysqli_result/#__construct

El constructor de la clase mysqli_result, se encarga de construir el objeto. El constructor puede utilizarse luego de utilizar el método real_query de mysqli

Description / Descripción
public mysqli_result::__construct(mysqli $mysqli, int $result_mode = MYSQLI_STORE_RESULT)
Sintaxis / Sintax
$result = new mysqli_result($mysqli,$reslt_mode)

data_seek

https://blastcoding.com/php-mysqli_result/#data_seek

Ajusta hacia qué fila del resultado obtenido luego de correr una consulta apunta.

Por ejemplo vea la siguiente tabla, nuestra flecha es hacia donde estamos apuntando (indicaremos en nuestro parámetro offset a donde apuntar).

nombreapellidodireccion
MarceloKappaRotham 2312
MarianaSuarezLomas 2782
GerardoIsilDime 1782

En este contexto apuntar a la fila donde se encuentra Mariana seria $result->data_seek(1) ya que offset empieza desde 0 y termina en longitud -1

Description / Descripción
public mysqli_result::data_seek(int $offset): bool
Sintaxis / Sintax
$result->data_seek($offset);

Parámetro

$offset – número de la fila, este número debe ser entre 0 y longitud de filas -1

Retorna

true o false dependiendo si tuvo exito o no

fetch_all

https://blastcoding.com/php-mysqli_result/#fetch_all

Devuelve todas las filas del resultado como un array asociativo, numérico o ambos, dependiendo del modo que se ha pasado por parámetro.

Description / Descripción
public mysqli_result::fetch_all(int $mode = MYSQLI_NUM): array
Sintaxis / Sintax
$result->fetch_all($mode);

Parametro

$mode – mode puede ser una de las siguientes constantes MYSQLI_NUM(por defecto), MYSQLI_ASSOC y MYSQLI_BOTH.

Retorno

Este método retornará un array, el cual dependerá del parámetro $mode especificado.

fetch_array

https://blastcoding.com/php-mysqli_result/#fetch_array

Devuelve el resultado de la fila siguiente como un array asociativo, numérico o ambos.

Description / Descripción
public mysqli_result::fetch_array(int $mode = MYSQLI_BOTH): array|null|false
Sintaxis / Sintax
$result->fetch_array($mode);

Parametro

$mode -mode puede ser una de las siguientes constantes MYSQLI_NUM, MYSQLI_ASSOC y MYSQLI_BOTH(por defecto).

Retorno

array con los valores de la fila, null si no hay más filas en el set de resutados y false en caso de haber un fallo.

fetch_assoc

https://blastcoding.com/php-mysqli_result/#fetch_assoc

Extrae o devuleve la proxima fila de un set de resultados como un array asociativo.

Description / Descripción
public mysqli_result::fetch_assoc(): array|null|false
Sintaxis / Sintax
$result->fetch_assoc();

Retorno

Retorna un array asociativo, null en caso de que no tenga más filas y false en caso de fallo.

fetch_column

https://blastcoding.com/php-mysqli_result/#fetch_column

Obtiene una columna de la próxima fila del set de resultados. Vea la siguiente tabla, suponga que nuestro puntero esta posicionado tal como vemos en la tabla

nombreapellidodireccion
MarceloKappaRotham 2312
MarianaSuarezLomas 2782
GerardoIsilDime 1782

Si yo llamo este método para la columna 2, $result->fetch_column(2) obtendré "Dime 1782"

Description / Descripción
public mysqli_result::fetch_column(int $column = 0): null|int|float|string|false
Sintaxis / Sintax
$result->fetch_column($column);

Parametro

$column – columna que se desea obtener, tener en cuenta que la numeración de las columnas empieza desde 0

Retorno

Este método tiene diferentes posibles retornos, ya que el valor puede ser cualquiera que tenga la tabla, false en caso de no haber más filas.

fetch_field_direct

https://blastcoding.com/php-mysqli_result/#fetch_field_direct

Obtiene la metadata de un solo campo en forma de objeto

AttributeDescription
nameThe name of the column
orgnameOriginal column name if an alias was specified
tableThe name of the table this field belongs to (if not calculated)
orgtableOriginal table name if an alias was specified
defThe default value for this field, represented as a string
max_lengthThe maximum width of the field for the result set.
lengthThe width of the field, as specified in the table definition.
charsetnrThe character set number for the field.
flags An integer representing the bit-flags for the field.
typeThe data type used for this field
decimalsThe number of decimals used (for numeric fields)
Description / Descripción
public mysqli_result::fetch_field_direct(int $index): object|false
Sintaxis / Sintax
$camp_info = $result->fetch_field_direct($index);

Como puede ver en sintaxis, $camp_info albergará nuestro objeto. Con esta variable podremos obtener el valor de los distintos atributos vistos en la tabla de arriba, por ejemplo $camp_info->name obtendrá el nombre de la columna, $camp_info->table obtendrá el nombre de la tabla a la cual el campo pertenece y así sucesivamente.

Parámetro

$index(fieldnr) – su valor varia entre 0 y la cantidad de campos -1

Retorno

Retorna un objeto o false si no hay información para el número de campo $index

fetch_field

https://blastcoding.com/php-mysqli_result/#fetch_field

Retorna la información del próximo campo en el resultset

AttributeDescription
nameThe name of the column
orgnameOriginal column name if an alias was specified
tableThe name of the table this field belongs to (if not calculated)
orgtableOriginal table name if an alias was specified
defThe default value for this field, represented as a string
max_lengthThe maximum width of the field for the result set.
lengthThe width of the field, as specified in the table definition.
charsetnrThe character set number for the field.
flags An integer representing the bit-flags for the field.
typeThe data type used for this field
decimalsThe number of decimals used (for numeric fields)
Description / Descripción
public mysqli_result::fetch_field(): object|false
Sintaxis / Sintax
$camp_info = $result->fetch_field();

Retorno

Retorna un objeto o false si no hay información para el campo

fetch_fields

https://blastcoding.com/php-mysqli_result/#fetch_fields

Retorna un array de objetos con la información(meta data) de los campos. Los objetos tendrán los siguientes atributos o propiedades

AttributeDescription
nameThe name of the column
orgnameOriginal column name if an alias was specified
tableThe name of the table this field belongs to (if not calculated)
orgtableOriginal table name if an alias was specified
defThe default value for this field, represented as a string
max_lengthThe maximum width of the field for the result set.
lengthThe width of the field, as specified in the table definition.
charsetnrThe character set number for the field.
flags An integer representing the bit-flags for the field.
typeThe data type used for this field
decimalsThe number of decimals used (for numeric fields)
Description / Descripción
public mysqli_result::fetch_fields(): array
Sintaxis / Sintax
$result->fetch_fields();

Retorno

Array de objetos

fetch_object

https://blastcoding.com/php-mysqli_result/#fetch_object

Extrae la próxima fila del set de resultados y retorna en forma de Objeto

Description / Descripción
public mysqli_result::fetch_object(string $class = "stdClass", array $constructor_args = []): object|null|false
Sintaxis / Sintax
$objRow = $result->fetch_object($class,$constructor_args);

Parametro

$class -nombre de la clase que se instanciará normalmente esta clase es una stdClass. La clase stdClass representa una objeto vacio.

$constructor_args – en caso de que la clase necesite argumentos.

Retorno

Retorna un objeto si pudo obtener los valores, null en caso de que no haya más filas y false en caso de que falle

fetch_row

https://blastcoding.com/php-mysqli_result/#fetch_row

Extrae la nueva fila del set de resultados devolviendo un array enumerado

Description / Descripción
public mysqli_result::fetch_row(): array|null|false
Sintaxis / Sintax
$e_row = $result->fetch_row();

Retorno

retorna un array sí todo ha ido bien, null si no hay más filas y false en caso de fallo

field_seek

https://blastcoding.com/php-mysqli_result/#field_seek

Cambia a que campo del resultado apunta basándonos en el valor de $index

Description / Descripción
public mysqli_result::field_seek(int $index): bool
Sintaxis / Sintax
$result->field_seek($index);

Parámetro

$index – índice del campo, puede ser un valor entre 0 y cantidad de campos -1

Retorno

Retorna true en caso de poder apuntar al campo especificado o False dependiendo de si hubo un fallo.

free / close / free_result

https://blastcoding.com/php-mysqli_result/#free

Libera la memoria asociada con el resultado

Description / Descripción
public mysqli_result::free(): void
Description / Descripción
public mysqli_result::close(): void
Description / Descripción
public mysqli_result::free_result(): void
Sintaxis / Sintax
$result->close();

getIterator

https://blastcoding.com/php-mysqli_result/#getIterator

Devuelve un Iterador externo

Description / Descripción
public mysqli_result::getIterator(): Iterator
Sintaxis / Sintax
$iterator = $result->getIterator();

Retorno

Retorna un iterador para lo que necesites hacer con el resultado.

Category: php
Something wrong? If you found an error or mistake in the content you can contact me on Twitter | @luisg2249_luis.
Last 4 post in same category