PHP + MySQL PHP MySQL - U

Anuncio
IN3501 – Tecnologías de Información y Comunicaciones para la Gestión
Primavera 2009
Primavera 2009
PHP + MySQL PHP MySQL
Universidad de Chile
Departamento de Ingeniería Industrial Auxiliares: (
@
)
Iván Videla ([email protected])
Claudio Millán ([email protected])
1
Conectándonos al Motor de Base de Datos
Conectándonos al Motor de Base de Datos

mysql_connect(servername,username,password); o
o
o

servername: Especifica el servidor al cual nos conectaremos
Username: Especifica el nombre de usuaria (en el servidor) que ocuparemos, por defecto ocupa el de dueño del proceso.
ocuparemos, por defecto ocupa el de dueño del proceso.
Password: Por defecto “”.
Ej
Ejemplo: l
mysql_connect(‘localhost’,’root’,’’);
IN3501 – TICs para la Gestión – Primavera 2009
2
Cerrando una conexión
Cerrando una conexión

Al igual que cuando se abria un archivo, ahora se tiene que cerrar la conexión.

Ej
Ejemplo:
l
<?php
$link = mysql_connect('localhost', ’user', ’password');
iff (!$link)
(!$l k) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected
Connected successfully
successfully';;
mysql_close($link);
?> IN3501 – TICs para la Gestión – Primavera 2009
3
Seleccionando Base de datos
Seleccionando Base de datos

Donde estamos?

mysql_select_db (database_name , conecction )
o
o

Database_name: Es el nombre de la base de datos que queremos seleccionar
Conecction: Es la conexión por donde mandar la instrucción
Conecction: Es la conexión por donde mandar la instrucción.
Ejemplo:
$db_selected
$db
selected = mysql_select_db(
mysql select db(‘rentavideo',
rentavideo , $link);
if (!$db_selected) {
die ('Can\'t use rentavideo : ' . mysql_error());
}
IN3501 – TICs para la Gestión – Primavera 2009
4
Como seleccionamos datos?
Como seleccionamos datos?

Con el comando, mysql
, y q _q
queryy (q
(query , conexion )
y,
)
o
o

Query: Es la consulta de SQL que se quiere realziar.
Conexion: Es la conexion por donde amndar la instruccion.
Ejemplo: $query = "SELECT firstname, lastname FROM friends“
$resultado = mysql_query($query);
IN3501 – TICs para la Gestión – Primavera 2009
5
Seleccionando datos
Seleccionando datos
if (!$resultado) {
$error = ‘Error: ' . mysql_error() . "\n";
die($error);
while ($row = mysql_fetch_assoc($resultado)) {
echo $row['firstname'];
echo $row['lastname'];
$ro ['lastname']
}
mysql_free_result($result);
?>
IN3501 – TICs para la Gestión – Primavera 2009
6
Como desplegamos los resultados
Como desplegamos los resultados

Existen varias funciones dentro de PHP para p
recuperar los resultados desde la query: mysql_result(), mysql_fetch_array(), mysql_fetch_ro
w(), mysql_fetch_assoc().

Veamos una de estas.
IN3501 – TICs para la Gestión – Primavera 2009
7
Imprimiendo resultados
Imprimiendo resultados

mysql
y q _fetch_assoc (( $resultado )
$
)
o

$resultado: El recurso de donde recuperaremos los datos.
Que hace?
o
Retorna un arreglo asociativo que corresponde a la fila g
q
p
actual y mueve el puntero una fila hacia adelante.
•
while ($row = mysql_fetch_assoc($resultado))
mysql fetch assoc($resultado)) {
echo $row['firstname'];
echo $row['lastname'];}
IN3501 – TICs para la Gestión – Primavera 2009
8
Liberando recursos
Liberando recursos

mysql_free_result ( $resultado )
o
$
$resultado: Es el recurso que queremos liberar.
l d
l
lb

Que hace? Liberara toda la memoria asociada al recurso asociado a $resultado Es importante cunado uno se preocupa de la cantidad $resultado. Es importante cunado
uno se preocupa de la cantidad
de memoria que se ocupa por consultas demasiado grande. Al finalizar la ejecucion de un script toda memoria se libera.

Ejemplo:
$query = "SELECT * FROM Usuarios “;
$resultado = mysql_query($query);

//instrucciones mysql_free_result($result); ?>
IN3501 – TICs para la Gestión – Primavera 2009
9
Construyendo una base de datos
Construyendo una base de datos

Que pasa si no quiero selecciona una base de datos Q
p
q
sino que quiero crearla.

En ese caso:
o
if (mysql_query("CREATE DATABASE hola", $con)) {
echo "Database created“; }
else {
echo "Error
echo Error creating database: creating database: " . mysql_error();
mysql error(); }
IN3501 – TICs para la Gestión – Primavera 2009
10
Buenas Practicas
Buenas Practicas



Es común crear un archivo (rutina) con la configuración d l b
de la base de datos y la abertura de esta (alguna veces d d
l b
d
( l
también para cerrar la conexión).
config.php: En este archivo generalmente se ponen el gp p
g
p
servidor al cual conectarse (‘localhost’), el usuario (‘root’), el password (‘’) y la base de datos con la cual se trabaja.
Ejemplo:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = ‘rentavideo';
?>
?> IN3501 – TICs para la Gestión – Primavera 2009
11
Buenas Practicas (2)
Buenas Practicas (2)


opendb.php: En este archivo generalmente se pone la conexion
i a MySQL
M SQL y la base de datos que se utilizara.
l b
d d t
tili
Ejemplo:
<?php
$
$conn
= mysql_connect($dbhost, $dbuser, $dbpass) or
$
$
$
die ('Error connecting to mysql');
mysql_select_db($dbname);
?> 

closedb.php: Este archivo es simplemente la linea donde se cierra la conexión.
Ejemplo:
<?php
mysql_close($conn);
?>
IN3501 – TICs para la Gestión – Primavera 2009
12
Y como se usan?
Y como se usan?

<?php
p p
include 'config.php';
include 'opendb.php';
// lo que se tenga que hacer
include 'closedb.php';
?> IN3501 – TICs para la Gestión – Primavera 2009
13
Tarea 6
Tarea 6






Lo mismo que la tarea 3 pero ahora con MySQL, no consultando a archivos de texto.
l d
h
d
Se les entregara un esquema.sql que contiene todas las instrucciones necesarias de SQL para que creen y p
q
y
inicialicen la base de datos, lo deben implementar en PHP (el esquema).
La base de datos debe ser creada una única vez.
a base de datos debe ser creada una única ve .
Ahora las notas se despliegan hacia el lado
Se debe incluir el archivo de config.php
S d b i l i (
Se debe incluir (como siempre) un archivo que detalle el i
)
hi
d ll l
% de participacion de cada integrante en el desarrollo de la tarea.
IN3501 – TICs para la Gestión – Primavera 2009
14
Descargar