Foros del Web » Programando para Internet » PHP »

PHP OO No se guardan registros en mysql

Estas en el tema de No se guardan registros en mysql en el foro de PHP en Foros del Web. Buenas tardes compañeros desarroladores, mi consulta esta vez es lo siguiente: tengo el codigo para guardar datos en mysql, en las paginas donde se envian ...
  #1 (permalink)  
Antiguo 11/04/2011, 12:33
 
Fecha de Ingreso: abril-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
No se guardan registros en mysql

Buenas tardes compañeros desarroladores,

mi consulta esta vez es lo siguiente:

tengo el codigo para guardar datos en mysql, en las paginas donde se envian formularios segun el navegador y servidor esta bien, pues al ejecutarlo me dice que "Registro exitoso" (asi coloque yo que dijera)

pero una vez que reviso la base de datos no hay archivos registrados.

este es el archivo de registro

<?php
//AQUI CONEXION CON LA BASE DE DATOS
include("conexionmvh.php");
function quitar($mensaje)
{
$mensaje = str_replace("<","&lt;",$mensaje);
$mensaje = str_replace(">","&gt;",$mensaje);
$mensaje = str_replace("\'","'",$mensaje);
$mensaje = str_replace('\"',"&quot;",$mensaje);
$mensaje = str_replace("\\\\","\\",$mensaje);
return $mensaje;
}
if(trim($_POST["expediente"]) != "")
{
$sql = "SELECT id FROM datosexpediente WHERE n='".quitar($_POST["expediente"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "Error, el numero de expediente esta repetido";
}
else
{
$sql = "INSERT INTO datosexpediente (n,estado,municipio,parroquia,condicion,estadosoci economico,procedencia,nomapellido,cedula,direccion ,telefono,ninos,adultos,nomapellidocon,cedulacon,o bservaciones)
VALUES (";
$sql .= "'".quitar($_POST["expediente"])."'";
$sql .= ",'".quitar($_POST["estado"])."'";
$sql .= ",'".quitar($_POST["municipio"])."'";
$sql .= ",'".quitar($_POST["parroquia"])."'";
$sql .= ",'".quitar($_POST["condicion"])."'";
$sql .= ",'".quitar($_POST["socioeconomico"])."'";
$sql .= ",'".quitar($_POST["procedencia"])."'";
$sql .= ",'".quitar($_POST["nomapellido"])."'";
$sql .= ",'".quitar($_POST["cedula"])."'";
$sql .= ",'".quitar($_POST["direccion"])."'";
$sql .= ",'".quitar($_POST["telefono"])."'";
$sql .= ",'".quitar($_POST["ninos"])."'";
$sql .= ",'".quitar($_POST["adultos"])."'";
$sql .= ",'".quitar($_POST["nomapellidocon"])."'";
$sql .= ",'".quitar($_POST["cedulacon"])."'";
$sql .= ",'".quitar($_POST["observaciones"])."'";
$sql .= ")";
mysql_query($sql);
echo "Registro exitoso!";
}
mysql_free_result($result);
}
else
{
echo "Debe ingresar un numero de expediente";
}
mysql_close();
?>


por que ocurre esto?


les agradezco mucho su ayuda...
  #2 (permalink)  
Antiguo 11/04/2011, 12:51
Avatar de Deathmetalrules  
Fecha de Ingreso: diciembre-2010
Ubicación: Mas - aya
Mensajes: 65
Antigüedad: 13 años, 4 meses
Puntos: 8
Respuesta: No se guardan registros en mysql

hola.....lo primero que deberias hacer es capturar los datos que estas enviando para que no se te genere ese enorme codigo en la consulta de insercion

te dejo un ejemplo para que lo adaptes....

Código PHP:
if ($_POST['new']=="Enviar")
    {
        
        
$cedula=$_POST['cedula'];
        
$nombre=$_POST['nombre'];
        
$apellido=$_POST['apellido'];
        
$sexo=$_POST['sexo'];
        
        if ((
$cedula=="")||($nombre=="")||($apellido=="")||($sexo==""))
        {
        
        echo
"<span style=color:#000;display:inline-block;font-weight:bold;font-size:18px;height:109px;width:674px;left:260px;position:absolute;top:420px;>Estimado Usuari@: ".$_SESSION['nombreusuario'],"...Algunos Campos estan Vacios!!!</span>";    
        echo 
"<meta http-equiv='Refresh' content='3; url=pagina.php'>";
        }
        else
        {        
        
$sql mysql_query("SELECT noCedulaDoc FROM datosdocentes WHERE noCedulaDoc='$cedula'");
        
$row mysql_fetch_array($sql);
        if(
$row['noCedulaDoc'] == $cedula)
        {
            
        echo
"<span style=color:#000;display:inline-block;font-weight:bold;font-size:18px;height:109px;width:674px;left:260px;position:absolute;top:420px;>
        Estimado Usuari@: "
.$_SESSION['nombreusuario'],"...El dato ya Existe!!!</span>";
        echo 
"<meta http-equiv='Refresh' content='3; url=pagina.php'>";
        }
        else
        {
        
$query ="INSERT INTO datosdocentes(noCedulaDoc,nombres,apellidos,sexo)VALUES('$cedula','$nombre','$apellido','$sexo')";
        
mysql_query($query);
        echo
"<span style=color:#000;display:inline-block;font-weight:bold;font-size:18px;height:109px;width:674px;left:260px;position:absolute;top:420px;>
        Estimado Usuari@: "
.$_SESSION['nombreusuario'],"...El Dato ha sido agregado!!!</span>";
         echo 
"<meta http-equiv='Refresh' content='3; url=../registros/docentes.php'>";
        }        
        
mysql_free_result($sql);
            }
            }
            else
            {
    
            
session_destroy();
            }

?> 
  #3 (permalink)  
Antiguo 11/04/2011, 12:57
 
Fecha de Ingreso: abril-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
Respuesta: No se guardan registros en mysql

gracias por tu aporte. pero eso no responde mi pregunta.

quiero saber es por que no se guarda el registro en mysql cuando todo corre bien?

no entiendo el por que? :(
  #4 (permalink)  
Antiguo 11/04/2011, 17:32
 
Fecha de Ingreso: abril-2011
Mensajes: 17
Antigüedad: 13 años
Puntos: 0
(SOLUCIONADO) No se guardan registros en mysql

Cita:
Iniciado por gfeduardo15 Ver Mensaje
gracias por tu aporte. pero eso no responde mi pregunta.

quiero saber es por que no se guarda el registro en mysql cuando todo corre bien?

no entiendo el por que? :(
revisando el codigo nuevamente se me ocurrio colocar a proposito un error, y al ejecutarlo no me tiraba el error (por cierto no se por que), entonces me puse a revisar bien y me di cuenta que faltaba UNA letra en "socieconomico era sociOeconomico

y ya problema resuelto

Etiquetas: mysql, registros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:17.