Este tutorial explica cómo realizar consultas básicas a una base de datos MySQL desde PHP. Describiremos una serie de funciones esenciales que nos servirán para ilustrar el uso de PHP para operaciones como añadir nuevos registros, actualizar registros, borrar registros, etc. No profundizaremos en el estudio de las bases de datos ni en el lenguaje SQL.
Estableciendo la Conexión con MySQL desde PHP
El acceso a base de datos con PHP admite dos formas distintas.
- Las funciones tipo mysql, por ejemplo mysql_connect, son las más antiguas, cuyo uso se desaconseja si se está trabajando con un servidor con una versión de MySQL moderna.
- Las funciones tipo mysqli, por ejemplo mysqli_connect, son las más modernas, cuyo uso se recomienda siempre que se esté trabajando con servidores actualizados.
Las funciones mysqli pueden escribirse de dos formas: con estilo orientado a objetos o con estilo por procedimientos.
Función mysqli_connect()
Para establecer una conexión con el servidor MySQL, se invoca la función mysqli_connect(). Se le pasan como parámetros el nombre del hosting, el nombre de usuario y la contraseña.
Resumiendo lo que hemos hecho, hemos usado la función mysqli_connect(), que abre una conexión con el servidor MySQL en el Host especificado (en este ejemplo la máquina donde está alojada el servidor MySQL es sql203.byethost7.com, pero tú tendrás que introducir tu propio dato).
Lea también: IVA 21% Excel
Si la conexión ha tenido éxito, la función mysqli_connect() devuelve un identificador de dicha conexión. Con esta línea introducimos el identificador de conexión en una variable denominada $link. La función devuelve una conexión almacenada en la variable $nombreConexion, o FALSE en caso de error.
Función mysqli_close()
Una vez que todas las operaciones con la base de datos han finalizado, es crucial cerrar la conexión para liberar recursos. Esta función nos permite cerrar la conexión con una base de datos anteriormente abierta.
Ejecutando Consultas SQL con PHP
La función mysqli_query(), usando el identificador de la conexión (por ejemplo, $link), envía una instrucción SQL al servidor MySQL para que éste la procese.
Esta función devuelve TRUE o FALSE para indicar si las operaciones UPDATE, INSERT o DELETE han tenido éxito. Para la operación SELECT, devuelve un nuevo identificador de resultado.
Cabe recordar que UPDATE significa “actualizar”, INSERT significa “insertar” y DELETE significa “BORRAR”.
Lea también: Guía IVA reducido
Declarando Consultas SELECT
Con una línea, podemos seleccionar todos los registros (filas) y campos (columnas) existentes en nuestra base de datos. Para seleccionar todos los registros escribimos SELECT *.
A continuación, indicamos la tabla de la cual queremos obtener dichos registros y esto lo expresamos con la sintaxis FROM agenda, siendo agenda el nombre de la tabla en la base de datos.
Una sentencia de consulta normalmente devuelve “un conjunto de resultados” que, según el ejemplo de sintaxis anterior, tendríamos en una variable denominada $result.
Extracción de Datos de los Resultados de una Consulta
La cuestión que nos planteamos ahora es: ¿Cómo extraer el dato de una celda concreta?
Posicionamiento en los Resultados con mysqli_data_seek()
Una sentencia como mysqli_data_seek ($result, 0); significaría “posiciónate en la fila 0 de los resultados” (la primera fila). También es válido escribir $result->data_seek(0); que tiene el mismo efecto.
Lea también: ¿Cómo localizar tus XML del SAT?
Finalmente, elegimos la fila de resultados cero con mysqli_data_seek ($result, 0);.
Obtención de Datos con mysqli_fetch_array()
La sentencia $extraido = mysqli_fetch_array($result); indica que los valores existentes en la fila se introduzcan en un array cuyos índices en principio pueden ser tanto asociativos (el nombre de la columna) como numéricos (empezando por cero).
Por ejemplo, si la primera columna en la tabla de la base de datos es «ciudad», podemos usar $extraido['ciudad'] para acceder al valor existente en la fila con la que estemos trabajando para la columna ciudad. Finalmente, se puede especificar el nombre del campo que queremos extraer dentro de la fila (esto es opcional).
Así, guardamos los resultados de esa fila en un array con $extraido = mysqli_fetch_array($result);.
Ejemplo Práctico Integrado
Escribe este código en un editor y guárdalo en un archivo de nombre ejemplo1.php (recuerda que antes debes haber creado la base de datos y creado datos de ejemplo como hemos visto anteriormente).
En este código lo que hemos hecho es usar las funciones vistas anteriormente y la base de datos y tablas que creamos en anteriores apartados del curso.
El resultado de invocar el archivo que hemos creado será que se nos muestre por pantalla el nombre, apellidos, dirección, teléfono, edad y altura almacenados en la primera fila de nuestra base de datos.
Cómo Encontrar la Información de Conexión del Proveedor
Si tenemos algún problema en localizar la información de nuestro proveedor (nombre de base de datos, usuario, etc.), normalmente se puede encontrar en el panel de control del servicio de hosting.
En el panel de control que estamos usando nosotros para este ejemplo, si bajamos con el scroll hacia abajo, después de la información FTP que nos aparece marcada con un recuadro rojo, aparecerá la información relativa al servidor de base de datos.
