Programacion

Solo disponible en BuenasTareas
  • Páginas : 7 (1511 palabras )
  • Descarga(s) : 0
  • Publicado : 26 de abril de 2012
Leer documento completo
Vista previa del texto
Capitulo 5: Manejo de Bases de Datos (MySQL)
Una de las características más importantes de PHP es su integración con diversos motores de base de datos,.
El 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 mostramos las funciones más importantes y ejemplos típicos
de uso para una base MySql.

1.Conexión a la base
$db_link=mysql_connect(hostname, user, password);
Ejemplo:
$db=mysql_connect(“localhost”,”root”,”secreto”);
La función realiza la conexión a la base 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 MySql. Esta sesión se mantiene hasta que[...]. 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 una vez finalizadas las transacciones para evitar la sobrecarga en el motor de la base de datos.

2. Selección de la base de datos a utilizar
mysql_select_db(database_name, db_link);
Ejemplo:
mysql_select_db(“test”,$db);
Esta función configura cual es la basede datos 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.
En este punto cabe aclarar que la denominación de las bases de datos de MySql es case-sensitive,por lo que
debemos mantener un standard a la hora de elegir los nombres de las distintas bases de datos.

3. Queries a la base de datos.
$result=mysql_query(query,db_link);
Ejemplo:
$result=mysql_query(“update clientes set deudor=’si’ where apellido=’Picapiedras’, $db)
$query=”insert into clientes (nombre, Apellido) values (Pedro, Mármol) ”;
$result=mysql_query($query,$db);
Nuevamente ellink que se debe usar es el que se obtiene al conectarse a la base, mysql_query devuelve falso
en caso de que el query 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 granmayoría de los errores producidos en esta instancia son el resultado de la falta
de permisos para realizar la consulta.

4. Cantidad de Filas Consultadas o Modificadas
4.1 Filas Consultadas
$cantidad=mysql_num_rows($result);
Ejemplo:
$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);
Estafunció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.
4.2 Filas Modificadas
$cantidad=mysql_affected_rows(db_link);
Ejemplo:
$cuantos=mysql_affected_rows($db);
Devuelve cuantosregistros 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.

5. Obtención de registros de una consulta
5.1 Obtención de datos en un result set$var=mysql_fetch_row(result_set);
Ejemplo:
$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...
tracking img