Profundizando
Operación
Ejemplo MySQL (extraer datos de resultado):
< ?
…
while ($fila = mysqli_fetch_row($resultado)){
echo ($fila[0], $fila[1]); Diagrama de flujo
}
…
?>
La variable fila contiene los valores de cada
columna de la tabla del resultado y se extraen
como si fuera un array.
Profundizando
Operación
Ejemplo ODBC (extraer datos de resultado):
< ?
…
while ($fila = odbc_fetch_row($resultado)){
echo ($fila[0], $fila[1]);
} Diagrama de flujo
…
?>
En ambos casos, también podemos acceder a los
datos, en vez de $fila[entero], usando el
identificador de la columna de la BD. Ejemplo:
odbc_result($Resultado, nombreColumna');
mysqli_result($Resultado, nombreColumna');
Profundizando
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 -> libera recursos de una consulta
mysqli_close -> cierra la conexión con la BD
Profundizando
Desconexión
Ejemplo:
…
mysqli_free_result($resultado);
mysqli_close($conexion);
?>
Funciones
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
Funciones
Debido a que prácticamente la única diferencia en la sintaxis es el uso de mysqli < -> odbc, los sustituiremos por x.
x_columns -> Devuelve información sobre nombres de columnas.
x_tables -> Devuelve información sobre nombres de tablas.
x_data_source -> Devuelve información sobre el origen de datos actual.
x_error -> Devuelve el ultimo código de error.
x_errormsg -> Devuelve el ultimo mensaje de error.
x_num_fields -> Devuelve el número de columnas de un resultado.
x_num_rows -> Devuelve el número de filas de un resultado.
x_result -> Obtiene los datos de un resultado.
x_fetch_array -> Devuelve los datos de un resultado en un array.
x_fetch_object -> Devuelve los datos de un resultado en variable de tipo objeto.
Ejemplos
Ejemplos orientativos completos de acceso a base de datos.
MySQL
< ?
@$transportes = mysqli_connect(localhost,usuario,password,transportes);
if (!$transpotes){
echo (Error. No se ha podido conectar con la base de datos);
}else{ // conectado!
@$empleados = mysqli_query($transportes,SELECT * 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) . < br/>);
}}
mysqli_free_result($empleados);
mysqli_close($transportes);
}
?>
Ejemplos
ODBC
< ?
@$transportes = odbc_connect(localhost,usuario,password,transportes);
if (!$transpotes){
echo (Error. No se ha podido conectar con la base de datos);
}else{ // conectado!
@$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) . < br/>);
}}
odbc_free_result($empleados);
odbc_close($transportes);
}
?>
Bibliografía
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
Página anterior | Volver al principio del trabajo | Página siguiente |