Gonzalo Baldassarri
Gonzalo Baldassarri

Reputation: 33

MySQL Error: Unknown column in 'field list' error

Hey guys I have a problem with MySQL, i'm trying to insert data in a table but it's returning this error message

Fatal error: SQL: SELECT e.idtarea AS 'idTarea', e.detalle AS 'detalle', e.precio AS 'precio', e.idOrdenReparacion AS 'idOrdenReparacion', e.fecha AS 'fecha', concat( 'Editar ', 'Eliminar' ) AS Opciones FROM Tarea e WHERE e.idtarea like '%%' ORDER BY e.idtarea;, Error: Unknown column 'e.fecha' in 'field list' in /opt/lampp/htdocs/scep/tareas.php on line 75

Here is my code:

    $SQL="

      SELECT 
        e.idtarea AS 'idTarea', 
        e.detalle AS 'detalle', 
        e.precio AS 'precio', 
        e.idOrdenReparacion AS 'idOrdenReparacion', 
        e.fecha AS 'fecha', 
        concat('<a href=\'editarTarea.php?id=',e.idtarea,'\'>Editar</a>&nbsp;','<a href=\'eliminarTarea.php?id=',e.idtarea,'\' onclick=javascript:confirm(\'Eliminar?>\')>Eliminar </a>') AS Opciones 
      FROM Tarea e ".$FILTRAR_POR." 
      ORDER BY e.idtarea;";

      $RESULT = mysql_query($SQL) or trigger_error("SQL: $SQL, Error: " . mysql_error(), E_USER_ERROR); 

Table Tarea from database:

CREATE TABLE IF NOT EXISTS `Tarea` (
   `idTarea` int(11) NOT NULL AUTO_INCREMENT,
   `detalle` varchar(45) COLLATE latin1_danish_ci DEFAULT NULL,
   `precio` varchar(45) COLLATE latin1_danish_ci DEFAULT NULL,
   `idOrdenReparacion` int(11) NOT NULL DEFAULT '0',
   `fecha` date DEFAULT NULL,
   PRIMARY KEY (`idTarea`,`idOrdenReparacion`),
   KEY `fk_Tarea_OrdenReparacion1_idx` (`idOrdenReparacion`)
  ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci AUTO_INCREMENT=2 ;

.....

  ALTER TABLE `Tarea`
  ADD CONSTRAINT `fk_Tarea_OrdenReparacion1` FOREIGN KEY (`idOrdenReparacion`) 
  REFERENCES `OrdenReparacion` (`idOrdenReparacion`) ON DELETE NO ACTION ON UPDATE NO ACTION;

Upvotes: 0

Views: 3387

Answers (2)

Jocelyn
Jocelyn

Reputation: 11393

Fieldnames and aliases must be enclosed in backticks, not in single quotes as you did. Updated query:

$SQL="SELECT 
    e.idtarea AS `idTarea`, 
    e.detalle AS `detalle`, 
    e.precio AS `precio`, 
    e.idor AS `idOrdenReparacion`, 
    e.fecha AS `fecha`, 
    concat('<a href=\'editarTarea.php?id=',e.idtarea,'\'>Editar</a>&nbsp;','<a href=\'eliminarTarea.php?id=',e.idtarea,'\' onclick=javascript:confirm(\'Eliminar?>\')>Eliminar </a>') AS Opciones 
  FROM Tarea e ".$FILTRAR_POR." 
  ORDER BY e.idtarea;";

Upvotes: 0

AJ Henderson
AJ Henderson

Reputation: 1190

Have you verified that a previous version of the table didn't exist where the column didn't exist? If there was already a version of the table, then your SQL will not made changes to the columns in the table.

Upvotes: 1

Related Questions