Usuario:ManuelRomero/php/BasesDatos

De WikiEducator
Saltar a: navegación, buscar
Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg





DWES TituloTema3.gif

BASES DE DATOS

Introducción

  • Idea de independizar la base de datos y el lenguaje de programación: concepto de driver, conector y extensión (mysql, mysqli, PDO).
  • Para trabajar con bases de datos debemos
    • Conectarnos
    • Seleccionar

Normalmente también

    • Realizaremos Consulta o inserciones
    • Procesar información
    • Cerrar la base de datos
  • PHP tiene un API especifico para trabajar directamente con mysql mysqli
  • Para realizar estas acciones disponemos de diversas funciones específicas dentro de PHP,
  • También vamos a disponer de la extensión PDO, la cual se independiza del gestor concreto de bases datos que vayamos a utilizar.
  • Por lo tanto en este tema vamos a ver dos extensiones
  1. usar una extensión nativa con su GBD en concreto mysql que viene con el propio lenguaje
  2. usar una extensión genéricoa que permite conectarse con cualquier gestor de BD.


CONECTAR AL SERVIDOR MYSQL con mysqli

resource mysql_connect($hostname, $user, $password);

  • Los parámetros de tipo string identificarían
    • $hostname = nombre del host
    • $user = usuario
    • $password = contraseña
  • Esta función retorna el recurso de la conexión
    • FALSO si no se ha conectado


SELECCIONAR LA BASE DE DATOS

Dentro del servidor tendremos diferentes bases de datos Antes de trabajar con una debemos seleccionarla Si no la seleccionamos se intentará operar con la última seleccionada

bool mysql_select_db ($namedatabase, $conexion)
  • Ejemplo
<?php
$conexion = mysql_connect('localhost', 'manolo', 'manolo');
if (!$conexion) {
    die('No conectado : ' . mysql_error());
}
// Seleccionar alumnos como base de datos activa
$db_seleccionada = mysql_select_db('alumnos', $conexion);
if (!$db_seleccionada) {
    die ('No puedo conectar con la BD alumno : ' . mysql_error());
}
?>

FUNCIONES die()- mysql_error() y concatenador .

die('texto');

Es una función que aborta la ejecución previamente visualiza el mensaje del parámetro por pantalla

mysql_error()

visualiza el error que da el sistema por el que no ha podido conectar

.

Es un concatenador de cadenas

echo "Esto es una cadena " . "Esta es otra concatenada a la anterior"


CREAR CONSULTA

resource mysql_query ( string $consulta );

consulta es la consulta a la base de datos

<?php
$resultado = mysql_query('SELECT * from alumnos');
if (!$resultado) {
    die('Invalid query: ' . mysql_error());
}
?> 


PROCESAR INFORMACIÓN

Ahora ya tenemos los datos con los que queremos trabajar los tenemos en una variable de tipo consulta ahora debemos recorrela La variable es como un vector de filas que hay que recorrer

array mysql_fetch_row ( resource $resultado )

esta función devuelve falso o 0 cuando ya no retorna más filas si no retorna la siguiente fila de la consulta la forma de acceder a cada campo será por el índice del array

array[0] .. array[n]
<?php
$resultado = mysql_query("SELECT nombre, apellido, direccion FROMM alumnos");
if (!$resultado) {
   die("Could not run query: " . mysql_error();
}
$c=0;
while ($alumno=mysql_fetch_row($result)){
     echo "alumno $c nombre $alumno[0] apellido $alumno[1] direccion $alumno[3]");
     $c++;
?>

GESTIÓN DE BASE DE DATOS

Conocer todas las bases de datos

mysql_connect('localhost', 'mysql_user', 'mysql_password');

Todas las tablas de una base de datos

resource mysql_list_tables ( string $database [, resource $link_identifier ])

Los campos de una tabla

resource mysql_list_fields ( string $database_name , string $table_name [, resource $link_identifier])

</div>

FUNCIONES

==Definición de funiones

function  ‘’’nombre_de_funcion’’’ (’’’’lista_de_parametros’’’’){
’’’’codigo a ejecutar ’’’’
}

Ejemplo de funcion

  • Realiza una función que convierta de mayúsculas a minúsculas

Generar pdf desde el código php

pdf=new mPDF();

$mpdf->WriteHTML('

Hello World

');

$mpdf->Output();

-->