PHP: Acceso a Bases de Datos

19
PHP: Acceso a Bases de Datos CI-2413

description

PHP: Acceso a Bases de Datos. CI-2413. dbase dbm db++ FrontBase filePro Informix InterBase Ingres II SQL Server. mSQL Mysql Oracle Ovrimos SQL Server PostgreSQL SESAM Sybase. PHP: Bases de datos. PHP permite el acceso a las siguientes bases de datos:. PHP: Bases de datos. - PowerPoint PPT Presentation

Transcript of PHP: Acceso a Bases de Datos

Page 1: PHP:  Acceso a Bases de Datos

PHP: Acceso a Bases de Datos

CI-2413

Page 2: PHP:  Acceso a Bases de Datos

PHP: Bases de datos

dbase dbm db++ FrontBase filePro Informix InterBase Ingres II SQL Server

mSQL Mysql Oracle Ovrimos SQL Server PostgreSQL SESAM Sybase

PHP permite el acceso a las siguientes bases de datos:

Page 3: PHP:  Acceso a Bases de Datos

PHP: Bases de datos

PHP también tiene interfaces abstractas: DBA (DataBase Abstraction) DBX ODBC

Recientemente también: PHP Data Objects Interface

Page 4: PHP:  Acceso a Bases de Datos

PHP: Bases de datos

Además podemos encontrar bibliotecas que tienen una interfaz de abstracción OO de bases de datos: PHPlib (http://www.sanisoft.com/phplib/manual/

) ADODB (http://php.weblogs.com/ADODB) PEAR (http://pear.php.net)

Page 5: PHP:  Acceso a Bases de Datos

PHP: MySQL

MySQL es un sistema de bases de datos desarrollado por la empresa MySQL AB. Tal empresa desarrolla las nuevas versiones y provee servicios como apoyo técnico. El sistema de bases de datos se da bajo licencia GPL que es una licencia de software libre o se vende bajo una licencia comercial.

Page 6: PHP:  Acceso a Bases de Datos

PHP: Funciones MySQL

Conexión al servidor: int mysql_connect ( [string server [, string

usuario [, string password]]]) Ejemplo:

<?php

$link = mysql_connect ("titanic", "root", “ci2413")

or die ("Could not connect");

print ("Connected successfully");

mysql_close ($link);

?>

Page 7: PHP:  Acceso a Bases de Datos

PHP: Funciones MySQL

Desconexión del servidor: int mysql_close ( [int identificador_de_enlace])

Ejemplo:

Ver el ejemplo anterior…

Page 8: PHP:  Acceso a Bases de Datos

PHP: Funciones MySQL

Selección de una base de datos: int mysql_select_db ( string base_de_datos [,

int identificador_de_enlace]) Ejemplo:

$bd = mysql_select_db("contaduria");

Page 9: PHP:  Acceso a Bases de Datos

PHP: Funciones MySQL

Envío de una consulta: int mysql_query ( string sentencia [, int

identificador_de_enlace]) Ejemplo:

<?php

$result = mysql_query ("SELECT * WHERE 1=1")

or die (“¡Consulta inválida!");

?>

Page 10: PHP:  Acceso a Bases de Datos

PHP: Funciones MySQL

Desplegando los resultados: object mysql_fetch_object ( int id_resultado [, int

tipo_de_resultado]) Ejemplo:

<?phpmysql_connect($servidor,$usuario,$clave);mysql_select_db("base");$resultado = mysql_query("select * from tabla");while($fila = mysql_fetch_object($resultado)) {

echo $fila->id_usuario;echo $fila->nombre;

}mysql_free_result($resultado);?>

Page 11: PHP:  Acceso a Bases de Datos

PHP: MySQLi

Funciona con PHP 4.1.3 y superior. Para tener la funcionalidad se debe compilar PHP con apoyo para la extensión mysqli.

Page 12: PHP:  Acceso a Bases de Datos

PHP: MySQLi (Clases)

mysqli Constructor

mysqli Métodos

autocommit change_user character_set_name close commit connect debug

dump_debug_info get_client_info get_host_info get_server_info init info kill multi_query more_results next_results options ping

Page 13: PHP:  Acceso a Bases de Datos

PHP: MySQLi (Clases)

prepare query real_connect escape_string rollback select_db ssl_set stat stmt_init store_results use_results thread_safe

Propiedades affected_rows client_info client_version errno error field_count host_info info insert_id protocol_version sql_state thread_id warning_count

Page 14: PHP:  Acceso a Bases de Datos

PHP: MySQLi (Clases)

mysqli_stmt Métodos

bind_param bind_result close data_seek execute fetch free_result result_metadata prepare send_long_data

reset store_results

Propiedades affected_rows errno param_count sqlstate

Page 15: PHP:  Acceso a Bases de Datos

PHP: MySQLi (Clases)

mysqli_result Métodos

close data_seek fetch_fields fetch_field_direct fetch_array fetch_assoc fetch_object fetch_row close field_seek

Propiedades current_field field_count lengths num_rows

Page 16: PHP:  Acceso a Bases de Datos

PHP: PostgreSQL

La base de datos PostgreSQL es un producto de Código Abierto. Postgres, desarrollada originalmente en el Departamento de Ciencias de la Computación de la Universidad de Berkeley, fue pionera de muchos de los conceptos objeto-relacionales ahora disponibles en algunas bases de datos comerciales. Provee apoyo a SQL92/SQL99, transacciones, integridad referencial, procedimientos almacenados y extendibilidad de tipo. PostgreSQL es un descendiente de código abierto del código original de Berkeley.

Page 17: PHP:  Acceso a Bases de Datos

PHP: ¡Problemas!

EscalabilidadMantenimientoPortabilidad

Page 18: PHP:  Acceso a Bases de Datos

PHP: Solución

La solución para resolver los problemas anteriores, es separar nuestro diseño en capas: Abstracción de Base de Datos Lógica PHP Despliegue (en formato HTML)

Varias herramientas permiten hacer esta separación, por ejemplo: ADODB y Smarty (Plantillas, las veremos después). Además la utilización de clases nos hará la vida fácil.

Page 19: PHP:  Acceso a Bases de Datos

PHP: Solución

Leer el artículo Building Database Interfaces en http://www.zend.com/zend/tut/tutorial-wong4.php.

Leer el tutorial en español de ADODB en http://www.codigophp.com/arts/adodb.html.