Você está na página 1de 19

PHP: Acceso a Bases de Datos

CI-2413

PHP: Bases de datos


PHP permite el acceso a las siguientes bases de datos:
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 tambin tiene interfaces abstractas:
DBA (DataBase Abstraction) DBX ODBC

Recientemente tambin:
PHP Data Objects Interface

PHP: Bases de datos


Adems podemos encontrar bibliotecas que tienen una interfaz de abstraccin OO de bases de datos:
PHPlib (http://www.sanisoft.com/phplib/manual/) ADODB (http://php.weblogs.com/ADODB) PEAR (http://pear.php.net)

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 tcnico. 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.

PHP: Funciones MySQL


Conexin 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); ?>

PHP: Funciones MySQL


Desconexin del servidor:
int mysql_close ( [int identificador_de_enlace])
Ejemplo: Ver el ejemplo anterior

PHP: Funciones MySQL


Seleccin de una base de datos:
int mysql_select_db ( string base_de_datos [, int identificador_de_enlace])
Ejemplo: $bd = mysql_select_db("contaduria");

PHP: Funciones MySQL


Envo de una consulta:
int mysql_query ( string sentencia [, int identificador_de_enlace])
Ejemplo: <?php $result = mysql_query ("SELECT * WHERE 1=1") or die (Consulta invlida!"); ?>

PHP: Funciones MySQL


Desplegando los resultados:
object mysql_fetch_object ( int id_resultado [, int tipo_de_resultado])
Ejemplo: <?php mysql_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); ?>

PHP: MySQLi
Funciona con PHP 4.1.3 y superior. Para tener la funcionalidad se debe compilar PHP con apoyo para la extensin mysqli.

PHP: MySQLi (Clases)


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

Mtodos
autocommit change_user character_set_name close commit connect debug

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

PHP: MySQLi (Clases)


mysqli_stmt
Mtodos
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

PHP: MySQLi (Clases)


mysqli_result
Mtodos
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

PHP: PostgreSQL
La base de datos PostgreSQL es un producto de Cdigo Abierto. Postgres, desarrollada originalmente en el Departamento de Ciencias de la Computacin de la Universidad de Berkeley, fue pionera de muchos de los conceptos objetorelacionales 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 cdigo abierto del cdigo original de Berkeley.

PHP: Problemas!
Escalabilidad Mantenimiento Portabilidad

PHP: Solucin
La solucin para resolver los problemas anteriores, es separar nuestro diseo en capas:
Abstraccin de Base de Datos Lgica PHP Despliegue (en formato HTML)

Varias herramientas permiten hacer esta separacin, por ejemplo: ADODB y Smarty (Plantillas, las veremos despus). Adems la utilizacin de clases nos har la vida fcil.

PHP: Solucin
Leer el artculo Building Database Interfaces en http://www.zend.com/zend/tut/tutorialwong4.php. Leer el tutorial en espaol de ADODB en http://www.codigophp.com/arts/adodb.html .

Você também pode gostar