










Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Cómo realizar una conexión a una base de datos MySQL utilizando PHP, incluyendo la preparación de la conexión, la ejecución de consultas SQL y el manejo de resultados. Además, se muestra cómo insertar y eliminar registros en la base de datos, así como cómo tratar valores alfanuméricos y numéricos. Se incluyen ejemplos de código PHP y JavaScript.
Tipo: Apuntes
1 / 18
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!











Se puede hacer: -Insertar -Modificar -Eliminar -Buscar También se pude subir datos como fotos, archivo o copias masivas de datos. connect_errno) { printf("Error en la conexion: %s\n", $mysqli- >connect_error); exit(); }
Los errores suelen ser porque no hemos colocado bien las variables o por que el servidor se ha venido abajo. AQUÍ ES RECOMENDABLE USAR LA FUNCION MAIL PARA ENVIAR EL CORREO ELECTRONICO CON EL ERROR. Esto es cuando trabajos con el español. $mysqli->set_charset("utf8"); /* SELECION DE LOS DATOS / $resultado = $mysqli->query("SELECT nombre, telefono FROM personas"); El objeto mysqli llama al método query. Query es una función del sistema que se utiliza las select. Si quiero conectar con Oracle o con mysql server estos tienen sus propios objetos. Se iguala a una variable, la variable resultado, pero no es una variable es una Matriz. Lo que pasa que el sistema nos deja esta sintaxis para que sea más cómodo. Esto son copias si un segundo después María cambia el teléfono no sale en la copia. Ejemplo compra de entradas. / VOLCADO DE LOS DATOS / Tenemos que recorrer la matriz. Fetch assoc() es captura. Como esta en un bucle es en una vuelta. Captura un registro. Mete esa información en una Matriz que es $fila While ($fila = $resultado->fetch_assoc()) { echo $fila['nombre']. " ". $fila['telefono']. "" ; } Echo con o muestro por pantalla de la $fila saca por pantalla el campo nombre y concaténalo con un espacio en blanco y el campo teléfono Tantas como filas existan. Si vamos a sacar un solo un registro NO METER EL WHILE / LIBERAR LA MATRIZ QUE ALBERGA EL CONJUNTO DE RESULTADOS / Se gana eficencia $resultado->free(); / CIERRE DE LA CONEXION */ Se gana eficencia y evito código sql inyectado. $mysqli->close(); ?>
// Tratamiento de valores alfanuméricos: if ($_POST['valor1']=='' || isset ($_POST['valor1'])) {$valor1 = $_POST['valor1'];} else {$valor1 = '';} // Tratamiento de valores numéricos: if ($_POST['valor2']=='' || isset ($_POST['valor2'])) {$valor2 = $_POST['valor2'];} else {$valor2 = '';} // Eliminacion de los espacios en blanco $valor1=trim($valor1); $valor2=trim($valor2); // Tratamiento de los valores numéricos cuando están vacios: if (is_numeric ($valor2)==false){ $valor2=0; } // Inserccion de los datos en una tabla: if ($mysqli->query("INSERT INTO t1 (c1, c2 VALUES ('$valor1','$valor1'')") === TRUE) { printf("Datos insertados correctamente"); } else { printf("Los datos no han sido insertados"); } COMO COGER LA INFORMACION DE UN AREA DE TEXTO CON SALTOS DE LINEAS TAL Y COMO LO ESCRIBE EL USUARIO CON MYSQLI $ciudad = $mysqli->real_escape_string($ciudad); query("CREATE TEMPORARY TABLE miCiudad LIKE City"); $ciudad = "'s Hertogenbosch";
/* esta consulta fallará debido a que no escapa $ciudad / if (!$mysqli->query("INSERT into miCiudad (Name) VALUES ( '$ciudad')")) { printf("Error: %s\n", $mysqli->sqlstate); } $ciudad = $mysqli->real_escape_string($ciudad); / esta consulta con $ciudad escapada funcionará */ if ($mysqli->query("INSERT into miCiudad (Name) VALUES ( '$ciudad')")) { printf("%d fila insertada.\n", $mysqli->affected_rows); } $mysqli->close(); ?> RECOGER DATOS DE UN AREA DE TEXTO CREAR BASE DE DATOS CREATE DATABASE IF NOT EXISTS bd1 DEFAULT CHARACTER SET utf COLLATE utf8_general_ci; USE bd1; CREATE TABLE IF NOT EXISTS mensajes ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, asunto VARCHAR (20) CHARACTER SET utf8 DEFAULT NULL, mensaje VARCHAR (255) CHARACTER SET utf8 DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; FICHERO INDEX
Ejemplo PHP
Asunto
INSERTAR PHP para área de texto connect_errno) { printf("Error en la conexion: %s\n", $mysqli->connect_error); exit(); } $mysqli->set_charset("utf8"); // Permite trabajar con los caracteres especiales en una instruccion SQL //solo para áreas de texto // $c2 = $mysqli->real_escape_string($c2);(solo se utiliza para //apostrofes, recomiendo ponerlo siempre) /* INSERCCION DE LOS DATOS - TODOS LOS VALORES ENTRE COMILLAS SIMPLES AUNQUE SEAN NUMERICOS */ if ($mysqli->query("INSERT INTO mensajes (asunto,mensaje) VALUES ('$c1','$c2')") === TRUE) { printf("Datos insertados correctamente"); } else { printf("Los datos no han sido insertados"); } $mysqli->close(); ?>
connect_errno) { printf("Error en la conexion: %s\n", $mysqli->connect_error); exit(); } $mysqli->set_charset("utf8"); $resultado = $mysqli->query("SELECT mensaje FROM mensajes WHERE id='$c3'"); $fila = $resultado->fetch_assoc(); //echo $fila['mensaje']; //no hay bucle porque devuelve un solo mensaje echo nl2br(htmlentities($fila['mensaje'])); // la función de nl2br de php convierte los saltos de linea de sql a //saltos de líneas de html // la función htmlentities de php coge todos los caracteres que hay en la //base de datos (strong…) lo repercute en destino $resultado->free(); $mysqli->close(); ?> PARA QUE NO DE EL ERROR 404 Alguien escriba dirección errónea o no existe NO ESTA PENSADO PARA LOCAL ESTAPENSADO PARA SERVIDOR 1.-Creamos un archivo:
La aplicación tiene que estar cerrada, terminada. Entonces es cuando hay que hacer el mapa de sitio Dos cosas que hay que hacer: 1.- comprimir fichero 2.- hacer site map http://www.xml-sitemaps.com/ Son metadatos no es un site map al uso Elegir el fichero xml. Hay que subirlo al servidor y meterlo en la carpeta raiz Si en el futuro hay cambios hay que volver hacerlo y subirlo al servidor Hay otro paso que es decir a google que ya tienes hecho esto www.google.com/webmasters/tools/?hl=ES PARA VER ESTADISTICAS http://www.google.es/intl/es/analytics/
SI LA EMPRESA TIENE PRESENCIA FISICA www.google.es/local/add/ PERMITE METER LA LEYENDA DE GOOGLE. Una vez hecho te manda una carta se devuelve y a partir de ahí te aparece tu empresa en el mapa. GOOGLE ADWORDS
Facilidad de uso y sencillez a la hora de identificar y eliminar registros Identificación sencilla y simultánea de más de un registro. Se hace normalmente con casilla de verificación y luego de un botón de eliminar. 1.- el evento es el click de eliminar. Pero hay que identificar cada uno de los registros que han sido marcados respecto a los que no. Para ello la casilla de identificación tiene que ser id de la base de datos del campo En las select tengo un while y un echo que esta concatenando. Asi que mete el checkbox y dentro del while de ello metemos WHILE ……
$(document).ready(function() { // INICIO C1.CLICK $("#c2").click(function(event) { // Declaramos una variable contador; //cada vez que pulsas arrancas de cero var i=0; //Deaclaramos una matriz vacia; var matrizCV = new Array(); // Recorremos todas las casillas de // verificacion cuya clase sea "claseCV" $(".claseCV").each(function(){ // Si la casilla actual está marcada // obtenemos su "id" y la almacenamos // en la matriz "matrizCV" //si esta casilla de verificación su propiedad esta chequeada if ( $(this).prop('checked') ){ // Almacenamos por orden en // la matriz cada id marcado matrizCV [i] = $(this).attr('id'); i++; } }); // INICIO FUNCION AJAX // En data se envia como argumento la matriz // con todas las id's de las casillas marcadas $.ajax({ type: "POST", url: "eliminar.php", // envio la matriz data: {matrizCV:matrizCV} }) // paramos y vamos ala fichero eliminar.php .done(function( msg ) { $("#resultado").html( msg ); });
// Tiene que ser .html y no .val porque estas mandando html por (smg) // FINAL FUNCION AJAX }); // FINAL C1.CLICK }); // FINAL DOCUMENT.READY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX ELIMINAR.PHP XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX connect_errno) { printf("Error en la conexion: %s\n", $mysqli->connect_error); exit(); } /* CAPTURA LA MATRIZ ENVIADA DESDE FUNCIONES.JS / $matrizCV=$_POST['matrizCV']; / RECORRIDO DE TODOS LOS ELEMENTOS DE LA MATRIZ / foreach ($matrizCV as &$elementoMatriz){ // con & trabaja por referencia y sin & trabaja valor / ELIMINACION DE LOS REGISTROS - TODOS LOS VALORES ENTRE COMILLAS SIMPLES AUNQUE SEAN NUMERICOS */ if ($mysqli->query("DELETE FROM personas WHERE id='$elementoMatriz'") === TRUE) { } else { printf("Los datos no han sido eliminados");
ES UN BOTON SUBMIT Y SE ENVIA POR POST
Ifr1 es un frame Onsumit llama a la función de inicio subida Subida de Archivos
// cierre de div
Funciones function inicioSubida(){ // Mostramos el mensaje "cargando..." y la barra de progreso document.getElementById('carga').style.visibility = 'visible'; // Ocultamos los controles document.getElementById('controles').style.visibility = 'hidden'; return true; } //proceso va a valer 0 ó 1 viene del fichero php function finSubida(proceso){ var resultado = ''; if (proceso == 1){ resultado = 'Subida completada'; } else { resultado = 'Error en la subida'; } // Ocultamos el mensaje "cargando..." y la barra de progreso document.getElementById('carga').style.visibility = 'hidden'; // Mostramos el mensaje document.getElementById('mensaje').textContent=resultado; // Limpiamos el boton examinar
document.getElementById('e1').value=''; // Mostramos los controles document.getElementById('controles').style.visibility = 'visible'; return true; } SUBIR ARCHIVO PHP Se crea una carpeta dentro del proyecto que se llama archivosSubidos
//cuando acabe este proceso entra el script
// haciendo un echo el resultado es 0 ó 1 PARA COGER GIFS http://preloaders.net/ METER MAPAS EN WEB HAY DE DOS FORMAS
iniciar google maps cambiar a estilo clásico darle a la cadena y copiar el archivo de html.