Acceso a bases de datos con MySQL y ODBC desde PHP - PowerPoint PPT Presentation

About This Presentation
Title:

Acceso a bases de datos con MySQL y ODBC desde PHP

Description:

DSN - Representa todo lo relativo a una fuente de datos configurada por el usuario. ... la conexi n y las consultas no liberamos la memoria que consumen. ... – PowerPoint PPT presentation

Number of Views:271
Avg rating:3.0/5.0
Slides: 23
Provided by: Deft
Category:
Tags: mysql | odbc | php | acceso | bases | con | datos | de | desde | memoria

less

Transcript and Presenter's Notes

Title: Acceso a bases de datos con MySQL y ODBC desde PHP


1
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Pablo Lledó Rovira

2
Índice
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Introducción
  • Conceptos previos
  • Profundizando
  • Como acceder a bases de datos, realizar
    consultas, ...
  • Funciones MySQL, ODBC
  • Funciones para el manejo de bases de datos
  • Ejemplos
  • Bibliografía

3
Introducción
Acceso a bases de datos con MySQL y ODBC desde PHP
  • ODBC
  • ODBC (Open DataBase Conectivity) es un estándar
    de acceso a bases de datos en PHP que nos permite
    el acceso a muchas bases de datos, manteniendo
    casi intacta la sintaxis de acceso y manejo.
  • Para poder llevar a cabo ODBC, los sistemas
    gestores de bases de datos tienes que se
    compatibles.
  • Por ejemplo, podemos acceder a bases de datos,
    como
  • Access, Adabas D, IBM DB2, iODBC, Solid

4
Introducción
Acceso a bases de datos con MySQL y ODBC desde PHP
  • MySQL
  • MySQL es un sistema gestor de bases de datos muy
    extendido en el mundo de la programación Web y
    que además es de software libre.
  • Este software integrado con PHP es considerado
    por
  • muchos programadores como la mejor combinación
    Lenguaje - Sistema gestor de bases de datos.

5
Conceptos clave
Acceso a bases de datos con MySQL y ODBC desde PHP
  • DSN - Representa todo lo relativo a una fuente de
    datos configurada por el usuario. Esta
    configuración es imprescindible para que los
    drivers o controladores tengan la información
    necesaria para conectarse a una base de datos
    especifica.
  • BD Base de Datos
  • SGBD Sistema Gestos de Bases de Datos

6
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Como se utilizan las bases de datos
  • Para acceder a una BD y obtener los datos
    deseados, ya sea vía MySQL, ODBC o cualquier
    SGBD, se deben seguir los siguientes pasos
  • Conexión
  • Especificamos el origen de datos y se procede a
    conectar.
  • Operación
  • Realizamos las consultas necesarias obteniendo
    los datos deseados y operando con ellos.
  • Desconexión (importante!)
  • Cerramos la conexión con la base de datos.

7
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Conexión
  • Paso primordial. Sin este paso, no podemos hacer
    nada con el servidor de base de datos. De todas
    formas, necesitamos estar explícitamente
    conectados a la BD para poder realizar cualquier
    operación. Métodos de conexión
  • Método MySQL mysqli_connect
  • Método ODBC odbc_connect

8
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Conexión
  • Ejemplo MySQL
  • lt?
  • conexion mysqli_connect(host,usuario,clav
    e,DSN_BD)
  • if (conexion FALSE)
  • echo (Error en la conexion)
  • exit()
  • ...

9
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Conexión
  • Ejemplo ODBC
  • lt?
  • conexion odbc_connect(DSN_BD,usuario,cla
    ve)
  • if (conexion FALSE)
  • echo (Error en la conexion)
  • exit()
  • ...
  • En ambos ejemplos, conexion guarda un
    identificador (puntero) a la base de datos con
    el que podemos realizar las operaciones deseadas.
    Si no se puede conectar, la variable pasa a valer
    FALSE.

10
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Operación
  • Una vez conectados correctamente a la BD,
    procedemos a realizar las consultas necesarias.
    Para ello, utilizamos los siguientes métodos.
  • Método MySQL mysqli_query
  • Método ODBC odbc_exec, odbc_do

11
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Operación
  • Ejemplo MySQL
  • lt?
  • resultado mysqli_query(conexion,SELECT
    FROM ...)
  • if (resultado FALSE)
  • echo (Error en la consulta)
  • else
  • echo (Consulta realizada con éxito)
  • ...

12
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Operación
  • Ejemplo ODBC
  • lt?
  • resultado odbc_exec(conexion,SELECT FROM
    ...)
  • if (resultado FALSE)
  • echo (Error en la consulta)
  • else
  • echo (Consulta realizada con éxito)
  • ...

13
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Operación
  • Existen dos tipos de consultas SQL en cuanto al
    tipo de valor que devuelven.
  • Las que devuelven true o false. Son sentencias
    del tipo INSERT,DELETE, UPDATE, ...
  • Y las que devuelven un resultado (SELECT,
    SHOW...). Son variables de tipo objeto que, al
    igual que en la conexión, devuelven un
    identificador y que además necesitan unos métodos
    específicos para poder extraer los valores
    deseados. Estos métodos son los siguientes
  • Método MySQL mysqli_fetch_row -gt extrae fila
  • Método ODBC odbc_fetch_row -gt extrae fila

14
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Operación
  • Ejemplo MySQL (extraer datos de resultado)
  • lt?
  • ...
  • while (fila mysqli_fetch_row(resultado))
  • echo (fila0, fila1) Diagrama
    de flujo
  • ...
  • ?gt
  • La variable fila contiene los valores de cada
  • columna de la tabla del resultado y se extraen
  • como si fuera un array.

15
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Operación
  • Ejemplo ODBC (extraer datos de resultado)
  • lt?
  • ...
  • while (fila odbc_fetch_row(resultado))
  • echo (fila0, fila1)

  • Diagrama de flujo
  • ...
  • ?gt
  • En ambos casos, también podemos acceder a los
  • datos, en vez de filaentero, usando el
  • identificador de la columna de la BD. Ejemplo
  • odbc_result(Resultado, nombreColumna')
  • mysqli_result(Resultado, nombreColumna')

16
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Desconexión
  • Cuando nos conectamos a una BD y extraemos datos
    estamos consumiendo recursos del servidor. Si no
    cerramos convenientemente la conexión y las
    consultas no liberamos la memoria que consumen.
    Este error, multiplicado por el numero de
    peticiones de clientes a la BD, puede ocasionar
    problemas con el buen funcionamiento del servicio
    WEB.
  • Por tanto, se recomienda encarecidamente
    liberar dichos recursos con los siguientes
    métodos.
  • Métodos mysqli_free_result -gt libera recursos de
    una consulta
  • mysqli_close -gt cierra la conexión con la BD

17
Profundizando
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Desconexión
  • Ejemplo
  • ...
  • mysqli_free_result(resultado)
  • mysqli_close(conexion)
  • ?gt

18
Funciones
Acceso a bases de datos con MySQL y ODBC desde PHP
  • En MySQL o ODBC existen una gran cantidad de
    funciones para operar con bases de datos que nos
    facilitan enormemente el trabajo. Solo se
    mostrara las mas importantes, para mas
    información consultar en la Web oficial de PHP
    en www.php.net

19
Funciones
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Debido a que prácticamente la única diferencia en
    la sintaxis es el uso de mysqli lt-gt odbc, los
    sustituiremos por x.
  • x_columns -gt  Devuelve información sobre nombres
    de columnas.
  • x_tables -gt Devuelve información sobre nombres de
    tablas.
  • x_data_source -gt Devuelve información sobre el
    origen de datos actual.
  • x_error -gt Devuelve el ultimo código de error.
  • x_errormsg -gt Devuelve el ultimo mensaje de
    error.
  • x_num_fields -gt  Devuelve el número de columnas
    de un resultado.
  • x_num_rows -gt Devuelve el número de filas de un
    resultado.
  • x_result -gt Obtiene los datos de un resultado.
  • x_fetch_array -gt  Devuelve los datos de un
    resultado en un array.
  • x_fetch_object -gt  Devuelve los datos de un
    resultado en variable de tipo objeto.

20
Ejemplos
Acceso a bases de datos con MySQL y ODBC desde PHP
  • Ejemplos orientativos completos de acceso a base
    de datos.
  • MySQL
  • lt?
  • _at_transportes mysqli_connect(localhost,usua
    rio,password,transportes)
  • if (!transpotes)
  • echo (Error. No se ha podido conectar con
    la base de datos)
  • else // conectado!
  • _at_empleados mysqli_query(transportes,SEL
    ECT FROM empleados)
  • if (!empleados)
  • echo (Error. No se ha podido
    realizar la consulta)
  • else // datos obtenidos!
  • while (mysqli_fetch_row(empleados))
  • echo (Nombre .
    mysqli_result(empleados,Nombre) . ltbr/gt)
  • mysqli_free_result(empleados)
  • mysqli_close(transportes)
  • ?gt

21
Ejemplos
Acceso a bases de datos con MySQL y ODBC desde PHP
  • ODBC
  • lt?
  • _at_transportes odbc_connect(localhost,usuari
    o,password,transportes)
  • if (!transpotes)
  • echo (Error. No se ha podido conectar con
    la base de datos)
  • else // conectado!
  • _at_empleados odbc_exec(transportes,SELECT
    nombre FROM empleados)
  • if (!empleados)
  • echo (Error. No se ha podido
    realizar la consulta)
  • else // datos obtenidos!
  • while (odbc_fetch_row(empleados))
  • echo (Nombre .
    odbc_result(empleados,nombre) . ltbr/gt)
  • odbc_free_result(empleados)
  • odbc_close(transportes)
  • ?gt

22
Bibliografía
Acceso a bases de datos con MySQL y ODBC desde PHP
  • http//www.pecesama.net/php/odbc.php
  • http//es.wikipedia.org/wiki/Mysql
  • http//es.wikipedia.org/wiki/DSN
  • http//es.wikipedia.org/wiki/ODBC
  • Desarrollo web con PHP 5 y MySQL - Ed.Anaya
Write a Comment
User Comments (0)
About PowerShow.com