Curso TIC de PHP y MSQL Parte 3

28
Curso básico de PHP & MySQL Ing. Antonio J. Hdez. Blanco. Mail: [email protected] Ing. Wilian Arroba Mail:[email protected]

Transcript of Curso TIC de PHP y MSQL Parte 3

Page 1: Curso TIC de PHP y MSQL Parte 3

Curso básico de PHP & MySQL

Ing. Antonio J. Hdez. Blanco.

Mail: [email protected]

Ing. Wilian Arroba

Mail:[email protected]

Page 2: Curso TIC de PHP y MSQL Parte 3

Contenido clase # 3

Almacenamiento de la información.

Ficheros…

Bases de Datos…

Page 3: Curso TIC de PHP y MSQL Parte 3

Trabajo con ficheros

fopenfopen -- Abre un archivo o una URLDescripciónint fopen (string filename, string mode [, int use_include_path])Si filename comienza con "http://" (no es sensible a mayúsculas), se abre una conexión HTTP 1.0 hacia el servidor especificado y se devuelve un apuntador de archivo al comienzo del texto de respuesta.

Page 4: Curso TIC de PHP y MSQL Parte 3

Trabajo con ficheros

No maneja redirecciones HTTP, por eso se debe incluir una barra final cuando se trata de directorios.Si filename comienza con "ftp://" (no es sensible a mayúsculas), se abre una conexión ftp hacia el servidor especificado y se devuelve un apuntador al archivo requerido. Si el servidor no soporta ftp en modo pasivo, esto fallará. Se pueden abrir archivo via ftp para leer o para escribir (pero no ambas cosas simultáneamente).

Si filename no comienza con nada de lo anterior, el archivo se abre del sistema dearchivos, y se devuelve un apuntador al archivo abierto si el abrir el archivo falla, la función devuelve false.

Page 5: Curso TIC de PHP y MSQL Parte 3

Trabajo con ficheros

mode puede ser cualquiera de lo siguiente:• 'r' - Abre para sólo lectura; sitúa el apuntador del archivo al comienzo delmismo.• 'r+' - Abre para lectura y escritura; sitúa el apuntador del archivo al comienzo del archivo.• 'w' - Abre para sólo escritura; sitúa el apuntador del archivo al comienzo del archivo y trunca el archivo con longitud cero. Si el archivo no existe, trata de crearlo.

Page 6: Curso TIC de PHP y MSQL Parte 3

Trabajo con ficheros

• 'w+' - Abre el archivo para lectura y escritura; sitúa el apuntador del archivo al comienzo del archivo y trunca el archivo con longitud cero. Si el archivo no existe, trata de crearlo.• 'a' - Abre sólo para escribir (añadir); sitúa el apuntador del archivo al final del mismo. Si el archivo no existe, trata de crearlo.• 'a+' - Abre para lectura y escritura (añadiendo); sitúa el apuntador del archivo al final del mismo. Si el archivo no existe, trata de crearlo.

Page 7: Curso TIC de PHP y MSQL Parte 3

Trabajo con ficheros

fwritefwrite -- Escribe archivos en modo binarioDescripciónint fwrite (int fp, string string [, int length])fwrite() escribe el contenido de string al fichero apuntado por fp. Si se da el argumento length, la escritura acaba antes de que length bytes sean escritos o se alcance el final de string, lo que ocurra primero.

Page 8: Curso TIC de PHP y MSQL Parte 3

Trabajo con ficheros

freadfread -- Lee archivos en modo binarioDescripciónstring fread (int fp, int length)fread() lee hasta length bytes del apuntador de fichero referenciado por fp. La lectura acaba cuando length bytes se han leído o se alcanza EOF, lo que ocurra primero.

Hagamos un contador sencillo para nuestra web.

Page 9: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Para la creación de BD y tablas usaremos el phpmyadmin que es mas fácil de usar y mas interactivos, pero veremos como hacerlo del shell del sistema.

Page 10: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Conectándose y desconectándose al servidor MySQLPara conectarse al servidor, generalmente se necesita proveer a MySQL un nombre de usuario, y un password.Si el servidor corre en una máquina distinta a la que se está utilizando se debe especificar el nombre del host (máquina). Cuando se conocen todos estos parámetros la conexión se realiza de la siguiente manera:shell> mysql -h host -u user -pEnter password:*********

Page 11: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Si la conexión se realizó con éxito, mysql despliega el siguiente mensaje:Welcome to the MySQL monitor. Commands end with; or\g.Your MySQL connection id is 459 to server version: 3.22.20a-logType "help" for help.mysql>

Page 12: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

El prompt indica que mysql está listo para recibir los comandos que ingrese el usuario. Algunas instalaciones de MySQL admiten usuarios anonymous (sin nombre)cuando el servidor corre en el host local. En este caso, se debe invocar a el servidor mysql sin ninguna opción:shell>mysqlUna vez que se ha realizado la conexión con éxito, para desconectarse al servidor en cualquiera de los dos casos anteriores se debe escribir QUIT o control-D.

Page 13: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Creando y usando una base de datosVisualización de las bases de datos existentes en el servidor MySQLAntes de crear una base de datos, se debe conocer que base de datos existen actualmente en el servidor, para ello se utiliza el comando SHOW, de la siguiente manera:mysql> SHOW DATABASES;

Page 14: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

+----------+| Database |+----------+| mysql || test || tmp |+----------+Esta lista probablemente no es igual en todas las máquinas, pero las bases de datos mysql y test están siempre entre ellas. La base de datos mysql se requiere porque en ella se describe la información de los privilegios de acceso a los usuarios.

Page 15: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Selección de una base de datosPara seleccionar o acceder a una base de datos determinada se utiliza el comandoUSE:mysql> USE testDatabase changedUna vez, que se ha realizado la conexión con éxito se puede comenzar a trabajar con la base de datos, pero siempre y cuando se tengan los permisos adecuados.

Page 16: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Si no se tienen los permisos el administrador debe darle los permisos al usuario para poder trabajar, esto serealiza con la ejecución del siguiente comando:mysql> GRANT ALL ON nombre_database.* TO nombre_usuario;

Page 17: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Creación de una base de datosPara crear una base de datos se debe tener permiso para poder crear base de datos en el servidor MySQL , si se tiene el permiso entonces la sentencia a seguir es:

mysql> CREATE DATABASE nombre_database;Bajo Unix, los nombres de las bases de datos y de las tablas son sensibles, esto quiere decir que se hace diferencia entre minúsculas y mayúsculas, así es que para referirse a una base de datos determinada hay que llamarla tal como se le nombro cuando fue creada.

Page 18: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Creación de tablasPara crear las tablas que va a contener la base de datos, se realiza de la siguiente forma:mysql> CREATE TABLE nombre_tabla(campo_1 tipo(tamaño), campo_2tipo(tamaño),...,campo_n tipo(tamaño));El campo indica el nombre de la columna y tipo(tamaño) específica el tipo de dato y el espacio que se va a conservar para cada dato almacenado en esa columna.

Page 19: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Ejemplo:codigo int(5), nombre char(25), fecha date, etc.. Cuando se trata de fechas no se específicael tamaño, puesto que ya está determinado. Para visualizar las tablas que tiene una base dedatos se usa el mismo comando utilizado para ver las bases de datos, pero con la diferenciade que en vez de database se coloca tables, es decir:

Page 20: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

mysql> SHOW TABLES;Para verificar que la tabla ha sido creada de la forma indicada, se usa el comando DESCRIBE. Ejemplo: Se va a crear una tabla llamada clientes, de la siguiente forma:mysql> CREATE TABLE clientes( rut char(8),nombre char(25), direccion char(50), telefono int(10));mysql> DESCRIBE clientes;

Page 21: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

+----------+-----------+------+-----+--------+-------+| Field | Type | Null | Key | Default| Extra |+----------+-----------+------+-----+--------+-------+| rut | char(12) | YES | | NULL | || nombre | char(25) | YES | | NULL | || direccion| char(50) | YES | | NULL | || telefono | int(10) | YES | | NULL | |+----------+-----------+------+-----+--------+-------+

Page 22: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Esto es muy útil cuando se olvida el nombre o tipo de una columna. El Field indica el nombre de la columna, Type es el tipo de dato que acepta esa columna, Null indica si la columna puede contener valores NULL, Key indica la clave por la cual la columna se va a indexar y Default específica el valor por defecto que tiene la columna.

Page 23: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Ingreso de Datos a las tablasPara ingresar información a una tabla se puede hacer básicamente de dos maneras.La primera se utiliza cuando se tiene mucha información a ingresar de una sola vez, entonces es conveniente almacenar esta información en un archivo de texto, es decir, .txt.Una vez que se tiene este archivo, se procede de la siguiente forma:mysql> LOAD DATA LOCAL INFILE "nombre_archivo.txt" INTO TABLE nombre_tabla;

Page 24: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Para el caso que se desee ingresar un solo registro, entonces la sentencia a seguir es:mysql> INSERT INTO nombre_tabla VALUES(``valor_1'',''valor_2'',....,Los datos a ingresar se separan por comas y van entre comillas. Estos datos indican los valores que va a tomar cada una de las columnas, según el orden en que fueron creadas.En el caso que se quiera ingresar un valor NULL no es necesario las comillas, sólo se coloca NULL.

Page 25: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Recuperación de la InformaciónPara recuperar la información que está contenida en una tabla, la sentencia general a seguir es:mysql> SELECT qué_es_lo_que_se_desea_ver FROM nombre_tabla WHERE condiciones_a_satisfacer;

Para los casos en que, se requiera:o Ver o seleccionar toda la información de una tabla:o mysql> SELECT * FROM nombre_tabla;o Seleccionar filas en particular:o mysql> SELECT * FROM nombre_tabla WHERE nombre_columna="lo que se desee buscar"

Page 26: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

o Seleccionar columnas en particular:o mysql> SELECT nombre_columna_1, nombre_columna_n FROMnombre_tabla;Esto es conveniente cuando no se desea ver toda la fila o registro, entonces solo se seleccionan aquellas columnas en las que se esté interesado..

Page 27: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Creación de una bd y su tabla.. Desde el shell

CREATE TABLE tablacurso (id tinyint(3) unsigned NOT NULL auto_increment,nombre varchar(30) DEFAULT '0' ,direccion varchar(30) DEFAULT '0' ,telefono varchar(30) DEFAULT '0' ,email varchar(30) DEFAULT '0' ,imagen varchar(30) DEFAULT '0' ,PRIMARY KEY (id));

Page 28: Curso TIC de PHP y MSQL Parte 3

Trabajo con BD MySQL

Conectar desde php<?php$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');if (!$link) {   die('Could not connect: ' . mysql_error());}echo 'Connected successfully';mysql_close($link);?>