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>
<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:
$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
Muchísimas gracias, yo pensaba que ya había probado esa opción, pero es que ya había probado tantas cosas... un saludo :)