Curso Php - Mysql - Clase 6

  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Curso Php - Mysql - Clase 6 as PDF for free.

More details

  • Words: 1,218
  • Pages: 10
“Aplicaciones Web dinámicas con PHP y MySql”

Funciones PHP para el acceso a Bases de Datos MySQL RDBMS

Sergio Gabriel Rodríguez http://www.3trex.com.ar

Acceso a una Base de Datos Una vez que tenemos creada la base de datos en nuestro servidor, el siguiente paso es conectarnos a la misma desde una página PHP. Para ello PHP nos proporciona una serie de instrucciones para acceder a bases de datos MySQL. •

• Los pasos para acceder desde PHP a una base de datos son los siguientes:

1. Conectarse con el servidor de Base de Datos. 2. Seleccionar la Base de Datos con la que vamos a trabajar. 3. Enviar la instrucción SQL a la Base de Datos. 4. Obtener y procesar los resultados. 5. Cerrar la conexión con el servidor.

Acceso a una Base de Datos Las Instrucciones para conectar con una Base de Datos MySQL en PHP para cada uno de estos pasos son:



1. Conectarse con el servidor de Base de Datos. mysql_connect() 2. Seleccionar la Base de Datos con la que vamos a trabajar. mysql_select_db() 3. Enviar la instrucción SQL a la Base de Datos. mysql_query() 4. Obtener y procesar los resultados. mysql_fetch_row(), mysql_fetch_array() 1. Cerrar la conexión con el servidor.

mysql_close();

Acceso a una Base de Datos Solicitud de una página web dinámica con Base de datos El server busca el Script solicitado

El cliente solicita una Página dinámica

Internet

El script tiene código de acceso a BD

El documento HTML generado es enviado al cliente

El navegador interpreta y muestra el HTML

El script PHP genera un documento HTML a partir de los datos extraídos de la BD

PHP se conecta y accede a la BD

Conectarse con el server de BD Al ejecutar la instrucción mysql_connect creamos un vínculo entre la base de datos y la pagina PHP, este vínculo será usado posteriormente en las consultas que hagamos a la base de datos.



Devuelve un identificador de la conexión en caso de éxito y false en caso contrario Sintaxis:

$conexion = mysql_connect (servidor, username, password); Ejemplo: $conexion = mysql_connect (“localhost”, “cursophp”, “password”) or die (“No se puede conectar con el servidor”);

Seleccionar una Base de Datos mysql_select_db: establece la BD activa que estará asociada con el identificador de conexión especificado. Si no se específica un identificador de conexión, se asume la última conexión abierta.



Devuelve true en caso de éxito y false en caso contrario Sintaxis:

$db = mysql_select_db (nombreBD, identificador); Ejemplo: $conexion = mysql_select_db (“movieStore”);

Enviar instrucción SQL a la BD • Una

vez que nos hemos conectado con el servidor de bases de datos, y seleccionado la BD, ya podemos realizar consultas a las tablas de la base de datos. mysql_query: Envía una consulta de MySQL a la base de datos especificada en la conexión activa. Sintaxis:

$sqlResult = mysql_query (instrucción, conexion); Ejemplo:

$sqlResult = mysql_query (“SELECT * FROM genero”);

Enviar instrucción SQL a la BD Valores retornados: Para las sentencias SELECT, SHOW, DESCRIBE o EXPLAIN, mysql_query() regresa un tipo resource (recurso) en caso exitoso, y FALSE en error. Para otro tipo de sentencia SQL, UPDATE, DELETE, DROP, etc, mysql_query() regresa TRUE en caso exitoso y FALSE en error.

Recurso: Un recurso es una variable especial, que contiene una referencia a un recurso externo. Los recursos son creados y usados por funciones especiales.

Obtener y procesar los resultados • Después

de haber realizado la consulta sql a la bd, y si todo salió bien, obtenemos una variable tipo recurso con el resultado de la misma, para acceder a este resultado y procesarlo debemos usar funciones especiales. mysql_fetch_row: Devuelve un array numérico con los valores de los campos de la fila actual de la consulta, y mueve el puntero interno que marca la fila actual a la siguiente fila, si no hay mas filas devuelve false. El índice de la tabla comienza en 0. Sintaxis:

$fila = mysql_fetch_row(query_result);

Obtener y procesar los resultados • Ejemplo

1: La consulta devuelve un solo registro



Obtener y procesar los resultados • Ejemplo

2: La consulta devuelve más de un registro

’; } ?>

Obtener y procesar los resultados •mysql_fetch_array: Devuelve un array asociativo con los valores de los campos de la fila actual de la consulta, y mueve el puntero interno que marca la fila actual a la siguiente fila, si no hay mas filas devuelve false. Los índices del array son los nombres de los campos seleccionados. Sintaxis:

$fila = mysql_fetch_array(query_result);

Obtener y procesar los resultados • Ejemplo

1: La consulta devuelve un solo registro



Obtener y procesar los resultados • Ejemplo

2: La consulta devuelve más de un registro

’; } ?>

Cerrar la conexión con el servidor •mysql_close: cierra la conexión a la base de datos MySQL asociada al identificador de conexión especificado. Si no se especifica un identificador de conexión, se asume le de la última conexión abierta. Devuelve: TRUE si se ha cerrado correctamente, FALSE en caso de errror. Esta función no es normalmente ya que la conexión se cerrará automáticamente al final de la ejecución del script o página Sintaxis:

mysql_close(identificador);

Otras funciones •mysql_num_rows(query_result): Devuelve el número de filas del resultado de una consulta.

$cantidadFilas = mysql_num_rows($resultado);

•mysql_error(): Devuelve el texto asociado al error producido en la última operación realizada por la base de datos.

if (!mysql_query($consulta){ echo “error :”. mysql_error(); }

Otras funciones •mysql_insert_id(): Esta función devuelve el ID (identificador) generado para los campos autonuméricos (AUTO_INCREMENTED). El ID devuelto es el correspondiente al de la última operación INSERT.

$ultimoID = mysql_insert_id();

Ejemplo • Si tenemos la tabla ‘Pelicula’ con 5 campos: id, titulo, director, genero y fecha_alta, de la cual seleccionamos sólo aquellas películas del género ‘Acción’ PELICULA 1

Título 1

Director 1

Terror

05/02/2004

2

Título 2

Director 2

Acción

05/02/2004

3

Título 3

Director 3

Acción

04/02/2004

4

Título 4

Director 4

Suspenso

01/02/2004

5

Título 5

Director 5

Acción

31/01/2004

$sqlResult = mysql_query(“SELECT * FROM pelicula WHERE genero=‘Acción’”);

Ejemplo • La consulta nos devolvería una variable tipo resource $sqlResult con 3 registros. PELICULA 1

Título 1

Director 1

Terror

05/02/2004

2

Título 2

Director 2

Acción

05/02/2004

3

Título 3

Director 3

Acción

04/02/2004

$sqlResult

4

Título 4

Director 4

Suspenso

01/02/2004

$nfilas=3

5

Título 5

Director 5

Acción

31/01/2004

$nfilas = mysql_num_rows($sqlResult);

Ejemplo • Para obtener el resultado de la consulta y mostralos, necesitamos recorrer la variable $sqlResult con las funciones mysql_fetch_row o mysql_fetch_array.

$nfilas = mysql_num_rows ($sqlResult); if ($nfilas > 0) { for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($sqlResult); echo $fila[‘id’].$fila[‘titulo’]; } }

Related Documents