php

Obtener columnas de una tabla de MySQL con PHP

Introducción

Acabamos de ver cómo obtener un listado de tablas de MySQL a través de PHP usando PDO. Pues bien, ahora veamos algo más preciso o específico y es: cómo obtener un listado de las columnas que tiene una tabla usando PHP y PDO.

Es decir, obtener la estructura o campos de una tabla, no sus datos. Para ello igualmente usaremos una consulta.

Lo que traerá la consulta será el tipo de dato y el nombre del campo o columna, pero podemos modificarla para que traiga más o menos datos.

Columnas que tiene una tabla usando PHP y MySQL

Primero la consulta al motor

Bueno, la consulta es simple y muy parecida a la que vimos hace un momento.

Esta difiere del comando SHOW CREATE TABLE que vimos en el post de respaldar una base de datos porque obtiene las columnas de una forma limpia.

La consulta es:

See the gist on github.

En ese caso usamos un alias para seleccionar el nombre de la columna como “columna”. Por cierto, podemos obtener otros datos, los cuales son:

  • TABLE_CATALOG
  • TABLE_SCHEMA
  • TABLE_NAME
  • COLUMN_NAME
  • ORDINAL_POSITION
  • COLUMN_DEFAULT
  • IS_NULLABLE
  • DATA_TYPE
  • CHARACTER_MAXIMUM_LENGTH
  • CHARACTER_OCTET_LENGTH
  • NUMERIC_PRECISION
  • NUMERIC_SCALE
  • DATETIME_PRECISION
  • CHARACTER_SET_NAME
  • COLLATION_NAME
  • COLUMN_TYPE
  • COLUMN_KEY
  • EXTRA
  • PRIVILEGES
  • COLUMN_COMMENT

Seguramente las que te interesarán (como a mí) serán el tipo de dato, el cual está en COLUMN_TYPE, así como el IS_NULLABLE para saber si puede ser nulo.

Pero bueno, así lo hacemos en el motor. Veamos cómo se hace desde PHP.

Conectar esa consulta con PHP usando PDO

Veamos ahora cómo podemos hacerlo a través de PDO. Vamos a encerrarlo en una función para que sea reutilizable.

See the gist on github.

Ok… aquí sí hay una diferencia con el ejemplo en donde obteníamos las tablas. Ahora no regresamos un arreglo de strings, sino un arreglo de objetos.

¿Y qué tienen esos objetos? tienen dos propiedades. El nombre de la tabla, y el tipo. El nombre está en ->columna y el tipo en ->tipo.

Por mostrar un ejemplo podemos hacer esto:

See the gist on github.

Espero no confundir al lector. Recordemos que el último argumento es el nombre de la tabla, y en mi caso tengo una tabla con el mismo nombre que la base de datos.

Si nuestra base de datos fuera “ventas” y la tabla “productos” entonces la llamada quedaría así:

See the gist on github.

Esto suponiendo que la tabla productos existe dentro de ventas.

Aquí la salida:

Obtener columnas de una tabla de una base de datos con MySQL, PHP y PDO

Como se ve ahí, dentro del arreglo hay objetos. Podríamos recorrerlos así:

See the gist on github.

Obteniendo este resultado:

Recorrer nombre de columnas

Así de simple es. Con eso terminamos por hoy.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

4 días hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

4 días hace

Imprimir PDF generado con HTML

Hoy vamos a ver programar la impresión de un PDF generado a partir de HTML…

5 días hace

JavaScript: llenar select con arreglo

En este tutorial básico de JavaScript con HTML vamos a ver cómo llenar una lista…

2 semanas hace

Imprimir PDF a partir de URL

En este artículo se presenta una guía para imprimir un PDF a partir de una…

2 semanas hace

Imprimir PDF a partir de base64

En este post voy a enseñarte cómo imprimir un PDF a partir de su representación…

2 semanas hace

Esta web usa cookies.