Php y MySql – Manejo de Bases de Datos

mayo 7, 2008 at 12:02 pm 11 comentarios

Una de las características más importantes de la programación en PHP es su integración con diversos motores de base de datos. PHP está construido para generar en forma sencilla páginas web dinámicas a partir de información almacenada en bases de datos. A continuación se detallan las funciones más importantes y ejemplos típicos de uso de PHP con una base de datos MySql.

Conexión a la base de datos Mysql desde Php

$db_link=mysql_connect(hostname, user, password);
Ejemplo de conexión a la base de datos Mysql:

$db=mysql_connect(“localhost”,”root”,”secreto”);

La función realiza la conexión a la base de datos Mysql y devuelve “false” si hubo algún error en la conexión o un link a la conexión a la base en caso de que la conexión sea exitosa.

El link es un número que indica la sesión dentro del servidor de base de datos MySql. Para finalizar la conexión se debe utilizar la función mysql_close(). Es muy importante cerrar la conexión a la base de datos mysql una vez finalizadas las transacciones para evitar la sobrecarga en el motor de la base de datos.

Selección de la base de datos Mysql a utilizar desde Phpmysql_select_db(database_name, db_link);

Ejemplo de selección de base de datos Mysql desde Php:

mysql_select_db(“test”,$db);

Esta función configura cual es la base de datos mysql que se utilizara por omisión. En este caso el link a utilizar en esta función es el link que se obtuvo al ejecutar la función mysql_connect.

La función mysql_select_db devuelve el valor “false” en caso de que se encuentre algún error, como por ejemplo la inexistencia de la base de datos mysql. En este punto cabe aclarar que la denominación de las bases de datos de MySql es case-sensitive (diferencia minusculas y mayusculas), por lo que debemos mantener un standard a la hora de elegir los nombres de las distintas bases de datos.

Queries (consultas) a la base de datos Mysql desde Php. $result=mysql_query(query,db_link);

Ejemplo de consulta a la base de datos Mysql:

$result=mysql_query(“update clientes set deudor=’si’ where apellido=’Perez’, $db)


$query=”insert into clientes (nombre, Apellido) values (Pablo, Rodriguez) ”;
$result=mysql_query($query,$db);Nuevamente el link que se debe usar es el que se obtiene al conectarse a la base, mysql_query devuelve falso en caso de que la consulta no pueda ejecutarse (error de SQL) o bien un result set en los casos que devuelva algún tipo de datos como por ejemplo en un select.

Es muy importante fijarse con que usuario se realizó la conexión a la base de datos a la hora de ejecutar el mysql_connect, ya que la gran mayoría de los errores producidos en esta instancia son el resultado de la falta de permisos para realizar la consulta.Cantidad de Filas Consultadas o Modificadas

 

Filas Consultadas en la base de datos Mysql desde Php

$cantidad=mysql_num_rows($result);
Ejemplo de filas consultadas en la base de datos Mysql desde Php:

$query=”select nombre, telefono from contactos where edad between 20 and 25 and sexo=’f’”;
$result=mysql_query($query,$db);

$cant=mysql_num_rows($result); Esta función devuelve la cantidad de filas que se obtuvieron luego de ejecutar una instrucción de consulta como por ejemplo la función select.

En el caso del ejemplo, en la variable $cant nos dirá cuantas chicas de entre 20 y 25 años tenemos en nuestra lista de contactos. Filas Modificadas en la base de datos Mysql desde Php

$cantidad=mysql_affected_rows(db_link);

Ejemplo de filas modificadas en la base de datos Mysql desde Php:

$cuantos=mysql_affected_rows($db);

Devuelve cuantos registros fueron afectados por un query con insert, update, o delete, notar que se le pasa el db_link ya que el result_set no tiene sentido. Si el query fue un delete sin clausula “where” esta función devuelve cero independientemente del número de registros eliminados de la tabla.

 

Obtención de registros de una consulta Mysql desde PhpObtención de datos en un result set

$var=mysql_fetch_row(result_set);

Ejemplo de result set:

$query=”select nombre, telefono from contactos where edad between 20 and 25 and sexo=’f’”;
$result=mysql_query($query,$db);$rs=mysql_fetch_row($result);

Toma un registro del result set y lo devuelve en un vector en el cual el elemento con índice 0 es la primer columna del registro, el elemento con índice 1 es la segunda columna, etc. Si no hay más registros por devolver devuelve false.

Los valores de los campos solicitados en el result set son devueltos en forma de array, es decir que para acceder al valor de nombre de la primera fila de nuestro ejemplo debo llamar a la variable $rs[0].Ejemplo:

while($v=mysql_fetch_row($result)) {


print(“Columna 0: $v[0] Columna 1: $v[1]”);

} Obtención de datos en un vector

$query=”select nombre, telefono from contactos where edad between 20 and 25 and sexo=’f’”;
$result=mysql_query($query,$db);

$rs=mysql_fetch_array($result); Ejemplo para obtener datos de mysql en un vector con Php:

$rs=mysql_fetch_array($result);

Funciona de forma idéntica a mysql_fetch_row pero devuelve los resultados en un vector asociativo indexado por nombre de columna, por lo que para obtener los nombres de nuestra consulta es necesario llamar al vector de la forma $rs[“nombre”]

Ejemplo:

while($v=mysql_fetch_array($result)) {
print(“Columna 0: $v[“nombre”]”);


}

Cerrar la conexión a la base de datos Mysql desde PhpPor último, esta función nos sirve para cerrar la conexión a la base se usa.

mysql_close(db_link)

 

Otras funciones php para base de datos Mysql: result=mysql_create_db(database_name,db_link)
Crea una base de datos con el nombre indicado, devuelve true o false según el resultado.

Result=mysql_data_seek(result_set, position)
Mueve el puntero interno de cada result set a la

posición indicada (el primer registro es la posición 0), de esta forma la próxima llamada a mysql_fetch_row o mysql_fetch_array devolvera el registro que se acaba de apuntar. Devuelve true o false.Result=mysql_db_query(database_name, query,db_link)
Realiza una consulta a una base indicada, es obviamente reemplazable por un mysql_select_db y

un mysql_query aunque resulta útil si hay que consultar tablas en varias bases distintas. Result=mysql_drop_db(database_name,db_link)
Dropea la base con el nombre indicado, devuelve true o false.

Object=mysql_fetch_field(result_set, numero_columna)
Devuelve un objeto con información sobre la columna indicada de un result set (0 es la primera columna, 1 la segunda, etc). Las propiedades que se setean en el objeto son:


name – nombre de la columna

table – nombre de la tabla

max_length – longitud maxima de la columna
not_null – 1 si la columna no puede ser null

primary_key – 1 si la columna es primary key unique_key – 1 si la columna es unique key
multiple_key – 1 si la columna no es unique
key
numeric – 1 si la columna es numerica
blob – 1 si la columna es un BLOB
type – Tipo de la columna
unsigned – 1 si la columna es sin signo

zerofill – 1 si la columna es zero-filled object=mysql_fetch_object(result_set)
Similar a mysql_fetch_array con la diferencia de que

los resultados se devuelven en un vector en lugar de un vector asociativo. Luego se puede acceder a las distintas columnas del registro devuelto como propiedades (data_members) del objeto devuelto.int=mysql_num_fields(result_set)
Devuelve el numero de columnas en un result set.



Manejo de errores de la base de datos Mysql desde php: Mensaje=mysql_error()
Devuelve un texto con el mensaje correspondiente al error que ocurrió en caso de que se produzca un error en la base de datos.

Ejemplo:

$result=mysql_query($query,$db);


if(!$result) {
$x=mysql_error();
die(“ Ocurrio un error en la base de datos: $x”);

}

About these ads

Entry filed under: Base de Datos, DB-MySql. Tags: .

Comandos Basicos para Bases de Datos MySql Microsoft renuncia a comprar Yahoo

11 comentarios Add your own

  • 1. Carlos  |  diciembre 27, 2008 en 8:24 pm

    Util

  • 2. pedro  |  diciembre 27, 2008 en 8:26 pm

    Muy bien

  • 3. babu  |  abril 8, 2009 en 7:51 pm

    vale.

  • 4. santos  |  octubre 30, 2009 en 7:13 pm

    hola chicos como están jejej bueno aquí programando… todo por la culpa de antny… que subestimo mis poderes…. pero aré un triple cayoquen…. incrementaré mis poderes… a como de lugar sip:)

  • 5. pauloarieu  |  diciembre 6, 2009 en 4:15 pm

    Hola,porque no habilitan la suscripcion?
    Saludos

  • 6. Iliana Maritza Burguan Valverde  |  febrero 3, 2010 en 7:10 am

    Hola, Saludos a todos, tengo un incoveniente con unos filtros, tengo varias bases de datos de unos blogs y necesito aquella información para filtrarla y llamarla desde un sitio en drupal, y necesito saber como deshabilito los estilos de la DB del wordpress ya que se presentan con los estilos del blog y necesito que tome los estilos del drupal… si me puedes ayudar gracias!!! h

  • 7. Anónimo  |  julio 1, 2011 en 5:13 pm

    MUY UTIL PERO NO ENTENDI MUY BIEN CUAL ES LA DIFERENCIA ENTRE PHP Y MYSQL? PRACTICAMENTE VAN TOMADAS DEL MANO

  • 8. Anónimo  |  julio 8, 2011 en 3:28 am

    util pero no es especifico!! =(

  • 9. Anónimo  |  octubre 5, 2011 en 11:41 pm

    cddvgffbnnvfgbbgfgfggdfszszx
    valeessseeeeeeeeeeeeeeennnnnnnn vvvrrrrrrgggggggggggggaaaaaaaaaaaaaaaa

  • 10. Anónimo  |  febrero 7, 2012 en 8:44 am

    muy útil, gracias

  • 11. Anónimo  |  mayo 6, 2014 en 12:29 am

    Muchas gracias

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Categorías

Páginas

Estadisticas

  • 748,657 Visitas

Archivos Meses Anteriores

Sigueme por Twitter


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 51 seguidores

%d personas les gusta esto: