error: La columna '23438732y' en field list es desconocida

Iniciado por enehy, 10 Diciembre 2009, 19:06 PM

0 Miembros y 1 Visitante están viendo este tema.

enehy

Buenas tardes, tengo un problemilla al insertar datos en una base de datos creada con phpmyadmin, el problema que me da es : La columna '23438732y' en field list es desconocida , seria el dni de un empleado que quiero dar de alta, es decir, al grabar los datos en la tabla, este es mi código:


<html>
<head>
<title>Chequear datos</title>
<link rel="stylesheet" href="estilo.css" type="text/css">
</head>

<body>
<center>
<p class="titulo"></p>
<br>

<?php

$conexion=mysql_connect("localhost", "programa", "programa") or die ("No se pudo realizar la conexión");

mysql_select_db("distribuidora",$conexion);


$nombre=$_POST["nombre"];
$apellidos=$_POST["apellidos"];
$dni=$_POST["dni"];
$fecha_nacimiento=$_POST["fecha_nacimiento"];
$categoria_laboral=$_POST["categoria_laboral"];
$domicilio=$_POST["domicilio"];
$telefono=$_POST["telefono"];

/*$dni_comp=mysql_query(SELECT 'dni' FROM 'empleados');
for($a=0;$dni_comp[$a]!=NULL; $a)
{
echo "$dni_comp[$a]";
}*/
if ( ($nombre!=NULL) AND ($apellidos!=NULL) AND ($dni!=NULL) AND ($fecha_nacimiento!=NULL) AND
   ($categoria_laboral!=NULL) AND ($domicilio!=NULL) AND ($telefono!=NULL) )
      
       //$sql="SELECT dni FROM empleados";
       //$result=mysql_query($sql, $conexion);
      
         {
         $sql="INSERT INTO empleados (dni, nombre, apellidos, categoria_laboral, domicilio, fecha_nacimiento, telefono) VALUES ($dni, $nombre, $apellidos, $categoria_laboral, $domicilio, $fecha_nacimiento, $telefono)";
         $result=mysql_query($sql, $conexion);
            if($result){echo"EXITO";
            }
            else{ echo mysql_error($conexion) ;}
         }
   ELSE{
    include("alta.html");
    echo "<font color=red><b>Error: Ha dejado algún campo vacío, debe rellenarlos todos</b></font>";
   }

?>

</center>

</body>
</html>

[u]nsigned

Código (php,39) [Seleccionar]

<html>
<head>
<title>Chequear datos</title>
<link rel="stylesheet" href="estilo.css" type="text/css">
</head>

<body>
<center>
<p class="titulo"></p>
<br>

<?php

$conexion
=mysql_connect("localhost""programa""programa") or die ("No se pudo realizar la conexión");

mysql_select_db("distribuidora",$conexion);


$nombre=$_POST["nombre"];
$apellidos=$_POST["apellidos"];
$dni=$_POST["dni"];
$fecha_nacimiento=$_POST["fecha_nacimiento"];
$categoria_laboral=$_POST["categoria_laboral"];
$domicilio=$_POST["domicilio"];
$telefono=$_POST["telefono"];

/*$dni_comp=mysql_query(SELECT 'dni' FROM 'empleados');
for($a=0;$dni_comp[$a]!=NULL; $a)
{
echo "$dni_comp[$a]";
}*/
if ( ($nombre!=NULL) AND ($apellidos!=NULL) AND ($dni!=NULL) AND ($fecha_nacimiento!=NULL) AND
($categoria_laboral!=NULL) AND ($domicilio!=NULL) AND ($telefono!=NULL) )
 
 //$sql="SELECT dni FROM empleados";
 //$result=mysql_query($sql, $conexion);
 

$sql="INSERT INTO empleados (dni, nombre, apellidos, categoria_laboral, domicilio, fecha_nacimiento, telefono) VALUES ($dni$nombre$apellidos$categoria_laboral$domicilio$fecha_nacimiento$telefono)";
$result=mysql_query($sql$conexion);
if($result){echo"EXITO";
}
else{ echo mysql_error($conexion) ;}
}
ELSE{ 
 include("alta.html");
 echo "<font color=red><b>Error: Ha dejado algún campo vacío, debe rellenarlos todos</b></font>";
}

?>


</center>

</body>
</html>


Tenes un error en la sintaxis MySQL en la linea resaltada, te falta encerrar entre omillas simples (') los valores a introducir en l aBB.DD, deberia ser asi:

Código (php) [Seleccionar]
$sql="INSERT INTO empleados (dni, nombre, apellidos, categoria_laboral, domicilio, fecha_nacimiento, telefono) VALUES ('$dni', '$nombre', '$apellidos', '$categoria_laboral', '$domicilio', '$fecha_nacimiento', '$telefono')";

Cambia eso y proba, y despues me contas  ;)

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

enehy

Muchísimas gracias, yo pensaba que ya había probado esa opción, pero es que ya había probado tantas cosas... un saludo :)