Lenguaje PHP
PHP y MySQL
-
¿Qué es MySQL?
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual: Licencia pública general/Licencia comercial por Oracle Corporation. Está considerada como la base datos de código abierto más popular del mundo, y una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor del código están en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.
- Desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation
- Desarrollado en su mayor parte en ANSI C y C++
- Fue desarrollado por MySQL AB (fundada por David Axmark, Allan Larsson y Michael Widenius)
- Adquirida por Sun Microsystems en 2008
- A su vez fue comprada por Oracle Corporation en 2010
- En 2009 se creó un fork denominado MariaDB
- Es usado por muchos sitios web grandes y populares, como Wikipedia, Google (aunque no para búsquedas), Facebook, Twitter, Flickr, y YouTube.
Lenguaje PHP
PHP y MySQL
-
Versiones MySQL
Lenguaje PHP
PHP y MySQL
-
Funciones de MySQL
Una función en MySQL es una rutina creada para tomar unos parámetros, procesarlos y retornar en un salida.
Se diferencian de los procedimientos en las siguientes características:
-
• Solamente pueden tener parámetros de entrada y no parámetros de salida
• Deben retornar en un valor con algún tipo de dato definido
• Pueden usarse en el contexto de una sentencia SQL
• Solo retornan un valor individual, no un conjunto de registros
mysql_client_encoding — Devuelve el nombre del conjunto de caracteres
mysql_close — Cierra una conexión de MySQL
mysql_connect — Abre una conexión al servidor MySQL
mysql_create_db — Crea una base de datos MySQL
mysql_data_seek — Mueve el puntero de resultados interno
mysql_db_name — Recupera el nombre de la base de datos desde una llamada a mysql_list_dbs
mysql_db_query — Selecciona una base de datos y ejecuta una consulta sobre la misma
mysql_drop_db — Elimina (DROP) una base de datos MySQL
mysql_errno — Devuelve el valor numérico del mensaje de error de la última operación MySQL
mysql_escape_string — Escapa una cadena para ser usada en mysql_query
mysql_fetch_array — Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
mysql_fetch_assoc — Recupera una fila de resultados como un array asociativo
mysql_fetch_field — Obtiene la información de una columna de un resultado y la devuelve como un objeto
mysql_fetch_lengths — Obtiene la longitud de cada salida en un resultado
mysql_fetch_object — Recupera una fila de resultados como un objeto
mysql_fetch_row — Obtiene una fila de resultados como un array numérico
mysql_field_flags — Obtiene las banderas asociadas al campo especificado de un resultado
mysql_field_len — Devuelve la longitud del campo especificado
mysql_field_name — Obtiene el nombre del campo especificado de un resultado
mysql_affected_rows — Obtiene el número de filas afectadas en la anterior operación de MySQL
Lenguaje PHP
PHP y MySQL
-
Funciones de MySQL (continuación)
mysql_field_table — Obtiene el nombre de la tabla en la que está el campo especificado
mysql_field_type — Obtiene el tipo del campo especificado de un resultado
mysql_free_result — Libera la memoria del resultado
mysql_get_client_info — Obtiene información del cliente MySQL
mysql_get_host_info — Obtener información del anfitrión de MySQL
mysql_get_proto_info — Obtiene información del protocolo MySQL
mysql_get_server_info — Obtiene información del servidor MySQL
mysql_info — Obtiene información sobre la consulta más reciente
mysql_field_seek — Establece el puntero del resultado en un índice de campo específicado
mysql_list_dbs — Lista las bases de datos disponibles en un servidor MySQL
mysql_list_fields — Lista los campos de una tabla de MySQL
mysql_list_processes — Lista los procesos de MySQL
mysql_list_tables — Enumera las tablas de una base de datos MySQL
mysql_num_fields — Obtiene el número de campos de un resultado
mysql_num_rows — Obtiene el número de filas de un conjunto de resultados
mysql_pconnect — Abre una conexión persistente a un servidor MySQL
mysql_ping — Efectua un chequeo de respuesta (ping) sobre una conexión al servidor o reconectarse si no hay conexión
mysql_real_escape_string — Escapa caracteres especiales en una cadena para su uso en una sentencia SQL
mysql_result — Obtiene datos de resultado
mysql_select_db — Selecciona una base de datos MySQL
mysql_set_charset — Establece el conjunto de caracteres del cliente
mysql_stat — Obtiene el estado actual del sistema
mysql_tablename — Obtiene el nombre de la tabla de un campo
mysql_thread_id — Devuelve el ID del hilo actual
mysql_unbuffered_query — Envía una consulta SQL a MySQL, sin recuperar ni almacenar en búfer las filas de resultados
mysql_query — Envia una consulta MySQL
mysql_insert_id — Obtiene el ID generado en la última consulta
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
Se requiere una base de datos MySQL y editor de textos simple
Se describe:
-
El establecimiento de una conexión de MySQL usando PHP en una página
Conexión a una tabla de MySQL
Recuperación los resultados
Presentación de nuevo en la web
Utiliza las instrucciones PHP MySQL:
-
mysqli_connect
mysqli_query
mysqli_fetch_array
mysqli_close
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
- Dirección del servidor MySQL
- Nombre de usuario y contraseña
- Nombre de la base de datos
1. Conectar a una base de datos MySQL
Es necesario:
Crear un archivo ficheronombre.php e insertar el código php antes que el HTML
Poner el código html a continuación
Abrir el archivo en un navegador y no se debería ver nada aparte de la etiqueta del título
PHP necesita que mysqli está habilitado
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
<?php
//Etapa1. Crear la variable $db y asignar a la cadena de conexión
$db = mysqli_connect('localhost','username',
'password','database_name')
or die('Error al conectar al servidor MySQL.');
?>
<html>
<head> Ejemplo </head>
<body>
<h1>PHP y MySQL<h1>
</body>
</html>
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
2. Realización de una consulta a la base de datos:
- La consulta MySQL se realiza en el cuerpo de la página html
- De modo adicional se requerirán etiquetas de apertura y cierre
- Para la consulta se han de especificar los campos de una tabla dada
- La variable $query selecciona todas las filas de la tabla
- Solo hay que utilizar el nombre de la tabla
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
<?php
//Etapa1. Crear la variable $db y asignar a la cadena de conexión
$db = mysqli_connect('localhost','username',
'password','database_name')
or die('Error al conectar al servidor MySQL.');
?>
<html>
<head> Ejemplo </head>
<body>
<h1>PHP y MySQL<h1>
<?php
//Etapa2. Búsqueda
$query = "SELECT * FROM table_name";
mysqli_query($db, $query) or die('Error al buscar en la base de datos.');
?>
</body>
</html>
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
3. Llevar los datos a la página:
- La variable $resultado almacena la consulta
- Hay que pasar por todas las filas de esa consulta
mysqli_fetch_array almacena las filas en una matriz
- Se almacena $resultado en mysqli_fetch_array, y se pasa a una variable llamada $fila
- fila$ es la salida en un bucle while, que con echo se muestran
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
<?php
//Etapa1. Crear la variable $db y asignar a la cadena de conexión
$db = mysqli_connect('localhost','username','password',
'database_name')
or die('Error al conectar al servidor MySQL.');
?>
<html>
<head> Ejemplo </head>
<body>
<h1>PHP y MySQL<h1>
<?php
//Etapa2. Búsqueda
$query = "SELECT * FROM table_name";
mysqli_query($db, $query) or die('Error al buscar en la base de datos.');
//Etapa3. Mostrar datos
$resultado = mysqli_query($db, $query);
$fila = mysqli_fetch_array($resultado);
while ($fila = mysqli_fetch_array($resultado)) {
echo $fila['nombre'] . ' ' . $fila['apellido'] . ': ' . $fila['email']
. ' ' . $fila['poblacion'] .'<br />';
?>
</body>
</html>
Lenguaje PHP
PHP y MySQL
-
Ejemplo conexión con BD
4. Cerrar la conexión:
Es sencillo, se logra con la siguiente instrucción
<?php
//Etapa 4. Cierre conexión
mysqli_close($db);
?>
</html>
Tutorial sobre conexión a bases de datos MySQL: Código Xules