Ver Mensaje Individual
  #11 (permalink)  
Antiguo 07/06/2013, 19:10
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Script para conectar con database

Prueba esto:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     #Conectar con MySQL
  4.     $conexion = mysql_connect("localhost","root","test")
  5.     or die ("Fallo en el establecimiento de la conexión");
  6.  
  7.     #Seleccionar la base de datos
  8.     mysql_select_db("paena_exonera")
  9.     or die("Error en la selección de la base de datos");
  10.  
  11.     $sql = "INSERT INTO datos VALUES ('".$_POST['nombre']."', '".$_POST['apellido']."', '".$_POST['correo']."', '".$_POST['ci']."', '".$_POST['telefono']."', '".$_POST['curso']."')";
  12.     if ($consulta = mysql_query($sql)) {
  13.         echo "<center>Censo realizado satisfactoriamente</center>";
  14.     } else {
  15.         echo "<center>No se guardo el censo porque: ".mysql_error($conexion)."</center>";
  16.     }
  17.  
  18. ?>

En reglas generales tienes que entender que trabajar con la base de datos tiene varias partes:

1-> Conexion con el motor
En esta parte te conectas a la base, es imprecindible que esto se haga antes de interactuar (Leer, Escribir, Modificar).
Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost","root","test");
Con esa instruccion te conectas. El resultado puede ser false en caso de error o bien un identificador de conexion.
Si es false mostramos un error, si es otra cosa seguimos.
Código PHP:
Ver original
  1. if ($conexion = mysql_connect("localhost","root","test")) { ... } else { die('Error de conexion.'); }

2-> Seleccion de la base
En esta parte le dises al motor (Mysql por ejemplo) que base de datos vas a usar.
Código PHP:
Ver original
  1. mysql_select_db("paena_exonera");
Con esta instruccion la seleccionas, la funcion devuelve false en caso de error o true en caso de haber logrado la accion, como lo que retorna solo sirve para saber si se efectuo la accion no tiene sentido almacenarlo en una variable. (No es el caso anterior donde el identificador si nos es muy util)
Código PHP:
Ver original
  1. if (mysql_select_db("paena_exonera")) { ... } else { die('Error seleccionando la base.'); }

3-> Armar la query
En esta parte es donde tienes que definir que le vas a pedir al motor, tienes que hacerlo en lenguaje SQL de forma correcta, si no preguntas bien, no esperes que te responda bien.
Hay cuatro tipos (En principio) de consultas, Altas, Bajas, Modificaciones y Listados.

Altas :
Código PHP:
Ver original
  1. $sql = 'INSERT INTO <nombretabla> VALUES ("<valor1>" , "<valor2>");';
Bajas :
Código PHP:
Ver original
  1. $sql = 'DELETE FROM <nombretabla> WHERE "<valor1>" = "<valorquequieroborrar>";';
Modificaciones :
Código PHP:
Ver original
  1. $sql = 'UPDATE <nombretabla> SET "<valor1>" = "<valor1nuevo>" , "<valor2>" = "<valor2nuevo>" WHERE "<valor1>" = "<valorquequieroactualizar>";';
Listados:
Código PHP:
Ver original
  1. $sql = "SELECT <valor1> , <valor2> FROM <nombretabla>;";

4-> Ejecutar la query:
En esta parte ya tienes tu query armada y la quieres ejecutar.
Código PHP:
Ver original
  1. $consulta = mysql_query($sql);
Con esa instruccion ejecutas la consulta y guardas la respuesta en una variable. Esta variable puede ser falsa en caso de error o true en caso de haberse ejecutado con exito. Si la consulta es un listado la variable en vez de true contendra un objeto de resultados que podremos analizar y mostrar.
Código PHP:
Ver original
  1. if ($consulta = mysql_query($sql)) { ... } else { die('Error realizando la consulta.'); }

5-> Analizar resultados (Solo para consultas tipo Listado)
Cuando cargamos un listado suele ser util saber cuantos resultados tiene.
Código PHP:
Ver original
  1. $numero_resultados = mysql_num_rows($consulta);
Con esta instruccion asignamos a una variable la cantidad de resultados que puede ser 0 si no se encontraron resultados.

6-> Procesar resultados (Solo para consultas tipo Listado)
Dijimos que si ejecutas un listado correctamente tienes un objeto de resultados.
Código PHP:
Ver original
  1. $resultado = mysql_fetch_array($consulta);
Con esa instruccion recuperas el primer resultado de un listado en forma de array cuyos subindices son los nombres de los campos y te preparas para recuperar el siguiente, es decir, cada vez que ejecutes esta funcion tendras el resultado siguiente del listado. Cuando el listado no tenga mas elementos (o este vacio) esta funcion retornara false. Como comunmente no se sabe cuantos resultados vas a tener y ya que esta funcion devuelve false cuando no hay mas resultados se mete dentro de un while.
Código PHP:
Ver original
  1. while ($resultado = mysql_fetch_array($consulta)){
  2.         echo('Valor1: '$resultado['<valor1>']);
  3.         echo('Valor2: '$resultado['<valor2>']);
  4.     }
Cada vez que ese while entra en un ciclo $resultado sera un nuevo array con los datos de una nueva fila.

7-> Deteccion de errores.
Cuando algo falla lo primero que hay que saber es el porque.
Código PHP:
Ver original
  1. mysql_error($conexion);
Esta funcion retorna la descripcion del error ocurrido de manera tal que podamos enterarnos por donde viene la mano cuando algo no ande.

8-> Ejemplo:
Código PHP:
Ver original
  1. if ($conexion = mysql_connect("localhost","root","test")) {
  2.         if (mysql_select_db("paena_exonera")) {  
  3.        
  4.             //Alta
  5.             $sql = 'INSERT INTO <nombretabla> VALUES ("<valor1>" , "<valor2>");';
  6.             if ($consulta = mysql_query($sql)) {
  7.                 echo('Guarde el registro correctamente');
  8.             } else { die('Error realizando la consulta.'.mysql_error($conexion)); }
  9.            
  10.             //Modificacion
  11.             $sql = 'INSERT INTO <nombretabla> VALUES ("<valor1>" , "<valor2>");';
  12.             if ($consulta = mysql_query($sql)) {
  13.                 echo('Guarde el registro correctamente');
  14.             } else { die('Error realizando la consulta.'.mysql_error($conexion)); }
  15.            
  16.             //Baja
  17.             $sql = 'INSERT INTO <nombretabla> VALUES ("<valor1>" , "<valor2>");';
  18.             if ($consulta = mysql_query($sql)) {
  19.                 echo('Guarde el registro correctamente');
  20.             } else { die('Error realizando la consulta.'.mysql_error($conexion)); }
  21.            
  22.             //Muestro un registro particular
  23.             $sql = "SELECT <valor1> , <valor2> FROM <nombretabla> WHERE <valor1> = '<valorunico>';";
  24.             if ($consulta = mysql_query($sql)) {
  25.                 if (mysql_num_rows($consulta) > 0) {
  26.                     $resultado = mysql_fetch_array($consulta);
  27.                     echo('Los datos del regisro son: Valor1='.$resultado['<valor1>'].' y '.'Valor2='.$resultado['<valor2>']);
  28.                 } else {
  29.                     echo('No se ha encontrado el registro');
  30.                 }
  31.             } else { die('Error realizando la consulta.'.mysql_error($conexion)); }
  32.            
  33.            
  34.             //Muestro un listado
  35.             $sql = "SELECT <valor1> , <valor2> FROM <nombretabla>;";
  36.             if ($consulta = mysql_query($sql)) {
  37.                 $numero_resultados = mysql_num_rows($consulta);        
  38.                 echo('Hay: '.$numero_resultados.' resultados.');
  39.                 while ($resultado = mysql_fetch_array($consulta)){
  40.                     echo('Valor1: '$resultado['<valor1>']);
  41.                     echo('Valor2: '$resultado['<valor2>']);
  42.                 }
  43.             } else { die('Error realizando la consulta.'.mysql_error($conexion)); }
  44.            
  45.         } else { die('Error seleccionando la base.'.mysql_error($conexion)); }
  46.     } else { die('Error de conexion.'.mysql_error($conexion)); }

Bueno con esto tienes suficiente como para empezar a escribir AL MENOS 1500 (MIL QUINIENTAS) lineas de codigo.
Hasta que no hallas escrito al menos esa cantidad de lineas no te volvere a responder nada. Si tu codigo no anda no busques ejemplos en google, leelo, razonalo, volve a escribirlo desde 0 sin copiarlo y compara las dos verciones. En este foro no se le hace la tarea a nadie, y antes de esperar esfuerzo de nosotros debes poner esfuerzo tu.
Yo puse mi esfuerzo en escribirte esto, encargate de no halla sido en vano. Conta cuantas lineas que no funcionan vas escribiendo, cuando hallas escrito 1500 si no solucionaste el problema tenes permitido volver a preguntar, sino quemate las neuronas pensando y probando.
Creeme que se va a notar y mucho si escribiste o no 1500 lineas, por la pregunta que hagas se va a saber enseguida.

PD: No te puedo prohibir que sigas preguntando sin practicar, pero si quieres aprender hazme caso y practica.
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios