Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/03/2016, 07:37
juandedios
 
Fecha de Ingreso: mayo-2003
Ubicación: Lima
Mensajes: 967
Antigüedad: 21 años
Puntos: 8
Error al ejecutar una consulta

Hola, tengo una consulta que depende de una variable, ya vi la consulta en el editor y si bota datos, pero dentro del modelo me sale el siguiente error: The query you submitted is not valid.

La función es esta:
Código PHP:
Ver original
  1. public function export_to_excel($fec, $gru)
  2. {
  3.     $fecha = $fec;
  4.     $sql = "";
  5.  
  6.     switch ($gru) {
  7.         case '1':
  8.             $sql = "SELECT
  9.                     A.codigo AS codigo,
  10.                     B.nombres AS nombres,
  11.                     B.apellidos AS apellidos,
  12.                     B.grado AS grado,
  13.                     B.seccion AS seccion,
  14.                     C.nombre AS entrada,
  15.                     D.nombre AS fondo,
  16.                     E.nombre AS postre
  17.                     FROM selcomidaspadres A
  18.                     INNER JOIN alumnos B ON A.hijo = B.codigo
  19.                     INNER JOIN comidas C ON A.entradas = C.codigo
  20.                     INNER JOIN comidas D ON A.fondos = D.codigo
  21.                     INNER JOIN comidas E ON A.postres = E.codigo
  22.                     WHERE A.fecha = '" . $fecha . "' AND (B.grado = 1 OR B.grado = 2)
  23.                     ORDER BY B.grado, B.seccion";
  24.             break;
  25.         case '2':
  26.             $sql = "SELECT
  27.                     A.codigo AS codigo,
  28.                     B.nombres AS nombres,
  29.                     B.apellidos AS apellidos,
  30.                     B.grado AS grado,
  31.                     B.seccion AS seccion,
  32.                     C.nombre AS entrada,
  33.                     D.nombre AS fondo,
  34.                     E.nombre AS postre
  35.                     FROM selcomidaspadres A
  36.                     INNER JOIN alumnos B ON A.hijo = B.codigo
  37.                     INNER JOIN comidas C ON A.entradas = C.codigo
  38.                     INNER JOIN comidas D ON A.fondos = D.codigo
  39.                     INNER JOIN comidas E ON A.postres = E.codigo
  40.                     WHERE A.fecha = '" . $fecha . "' AND (B.grado = 3 OR B.grado = 4 OR B.grado = 5)
  41.                     ORDER BY B.grado, B.seccion";
  42.             break;
  43.         case '3':
  44.             $sql = "SELECT
  45.                     A.codigo AS codigo,
  46.                     B.nombres AS nombres,
  47.                     B.apellidos AS apellidos,
  48.                     B.grado AS grado,
  49.                     B.seccion AS seccion,
  50.                     C.nombre AS entrada,
  51.                     D.nombre AS fondo,
  52.                     E.nombre AS postre
  53.                     FROM selcomidaspadres A
  54.                     INNER JOIN alumnos B ON A.hijo = B.codigo
  55.                     INNER JOIN comidas C ON A.entradas = C.codigo
  56.                     INNER JOIN comidas D ON A.fondos = D.codigo
  57.                     INNER JOIN comidas E ON A.postres = E.codigo
  58.                     WHERE A.fecha = '" . $fecha . "' AND (B.grado = 6 OR B.grado = 7)
  59.                     ORDER BY B.grado, B.seccion";
  60.             break;
  61.         case '4':
  62.             $sql = "SELECT
  63.                     A.codigo AS codigo,
  64.                     B.nombres AS nombres,
  65.                     B.apellidos AS apellidos,
  66.                     B.grado AS grado,
  67.                     B.seccion AS seccion,
  68.                     C.nombre AS entrada,
  69.                     D.nombre AS fondo,
  70.                     E.nombre AS postre
  71.                     FROM selcomidaspadres A
  72.                     INNER JOIN alumnos B ON A.hijo = B.codigo
  73.                     INNER JOIN comidas C ON A.entradas = C.codigo
  74.                     INNER JOIN comidas D ON A.fondos = D.codigo
  75.                     INNER JOIN comidas E ON A.postres = E.codigo
  76.                     WHERE A.fecha = '" . $fecha . "' AND (B.grado = 8 OR B.grado = 9)
  77.                     ORDER BY B.grado, B.seccion";
  78.             break;
  79.         case '5':
  80.             $sql = "SELECT
  81.                     A.codigo AS codigo,
  82.                     B.nombres AS nombres,
  83.                     B.apellidos AS apellidos,
  84.                     B.grado AS grado,
  85.                     B.seccion AS seccion,
  86.                     C.nombre AS entrada,
  87.                     D.nombre AS fondo,
  88.                     E.nombre AS postre
  89.                     FROM selcomidaspadres A
  90.                     INNER JOIN alumnos B ON A.hijo = B.codigo
  91.                     INNER JOIN comidas C ON A.entradas = C.codigo
  92.                     INNER JOIN comidas D ON A.fondos = D.codigo
  93.                     INNER JOIN comidas E ON A.postres = E.codigo
  94.                     WHERE A.fecha = '" . $fecha . "' AND (B.grado = 10 OR B.grado = 11)
  95.                     ORDER BY B.grado, B.seccion";
  96.             break;
  97.        
  98.         default:
  99.             break;
  100.     }
  101.  
  102.     $q = $this->db->query($sql);
  103.  
  104.     if ($q->num_rows() > 0) {
  105.         return $q->result();
  106.     }
  107.     else {
  108.         return false;
  109.     }
  110. }
y me señala la línea donde está: $q = $this->db->query($sql);

Por favo, denme una luz acerca de esto.

Muchas garcias,
__________________
El aprendiz.