Foros del Web » Programando para Internet » PHP » Zend »

[SOLUCIONADO] Quitar comillas en limit y offset

Estas en el tema de Quitar comillas en limit y offset en el foro de Zend en Foros del Web. Hola buenas tardes. Espero que alguien me pueda ayudar. Estoy trabajando con ZF2, el problema que tengo es que al hacer la siguiente consulta: Código ...
  #1 (permalink)  
Antiguo 09/10/2015, 11:59
Avatar de zerokull  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 1
Quitar comillas en limit y offset

Hola buenas tardes.

Espero que alguien me pueda ayudar.

Estoy trabajando con ZF2, el problema que tengo es que al hacer la siguiente consulta:

Código PHP:
$select $sql->select();
            
$select->columns(array('id_persona','nombre_completo','calle_y_numero','id_codigo_postal','curp','rfc'));
            
$select->from('personas');
            
$select->join(array('codigosPostales' => 'codigos_postales'),'personas.id_codigo_postal = codigosPostales.id_codigo_postal'
                array(
'codigo','colonia' => 'asentamiento','municipio','estado'));
$select->limit($limit);
            
$select->offset($offset);
            
$select->order("personas.nombre_completo ASC"); 
la salida en string es la siguiente:

Código MySQL:
Ver original
  1. SELECT `personas`.`id_persona` AS `id_persona`, `personas`.`nombre_completo` AS `nombre_completo`, `personas`.`calle_y_numero` AS `calle_y_numero`, `personas`.`id_codigo_postal` AS `id_codigo_postal`, `personas`.`curp` AS `curp`, `personas`.`rfc` AS `rfc`, `codigosPostales`.`codigo` AS `codigo`, `codigosPostales`.`asentamiento` AS `colonia`, `codigosPostales`.`municipio` AS `municipio`, `codigosPostales`.`estado` AS `estado` FROM `personas` INNER JOIN `codigos_postales` AS `codigosPostales` ON `personas`.`id_codigo_postal` = `codigosPostales`.`id_codigo_postal` ORDER BY `personas`.`nombre_completo` ASC LIMIT '10' OFFSET '0'

al ejecutar esa consulta sale un error pues en LIMIT Y OFFSET tienen comillas simples.

¿me pueden decir como quitar esas comillas ?
  #2 (permalink)  
Antiguo 09/10/2015, 15:29
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años, 6 meses
Puntos: 261
Respuesta: Quitar comillas en limit y offset

Buenas,

¿Puede que el error sea similar a esto?
Código:
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ''10' OFFSET '0'' 
at line 1
No especificas de donde viene las variables $limit y $offset. Tampoco que de que tipo son.

Voy a suponer que vienen de una url, por poner un ejemplo.

Al obtenerlas recibimos los parámetros como string:
Código:
array (size=2)
  'limit' => string '10' (length=2)
  'offset' => string '0' (length=1)
Para cambiarlos a int:
Código PHP:
// url: http://www.domain.ext/?limit=10&offset=0
$limit  = (isset($_GET['limit'])) ? (int)$_GET['limit'] : 10;
$offset = (isset($_GET['offset'])) ? (int)$_GET['offset'] : 0;

// out
// $limit  = int 10
// $offset = int 0

var_dump($_GET$limit$offset); 
Prueba y nos cuentas.

Si no es la solución deberíamos ver más datos, de donde vienen, como las recibe, si hay metodos que lo procesan... en fín, hay mucho donde buscar si no hay información

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #3 (permalink)  
Antiguo 14/10/2015, 10:31
Avatar de zerokull  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 1
Respuesta: Quitar comillas en limit y offset

Gracias ha funcionado

Etiquetas: comillas, limit, offset
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 02:50.