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

Problema con consulta mysql desde codoigniter

Estas en el tema de Problema con consulta mysql desde codoigniter en el foro de CodeIgniter en Foros del Web. Hola: Estoy presentando el siguiente problema: tengo esta función en mi modelo: Código PHP: public function  get_diff_days ( $id_product ) {                 $this -> db -> select ...
  #1 (permalink)  
Antiguo 10/05/2011, 15:38
 
Fecha de Ingreso: enero-2011
Mensajes: 74
Antigüedad: 13 años, 9 meses
Puntos: 4
Problema con consulta mysql desde codoigniter

Hola:
Estoy presentando el siguiente problema:
tengo esta función en mi modelo:
Código PHP:
public function get_diff_days($id_product) {       
        
$this->db->select('DATEDIFF(NOW(),sell_date) as dif,sell_date');        
        
$this->db->from('sellers_table');
        
$this->db->where('id_product',$id_product);
        
$this->db->order_by('sell_date','desc');
        
$record=$this->db->get();
        return 
$record->row()->dif;
    } 
y me arroja el navegador este error al llamarla
A Database Error Occurred

Error Number: 1064

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 'FROM (`sellers_table`) WHERE `id_product` = '4' ORDER BY `sell_date` desc' at line 2

SELECT DATEDIFF(NOW(), `sell_date)` as dif, `sell_date` FROM (`sellers_table`) WHERE `id_product` = '4' ORDER BY `sell_date` desc

Filename: C:\wamp\www\GreenwiseVitamins_proyect\system\datab ase\DB_driver.php

Line Number: 330

Sin embargo corri la consulta por separado en el mysql y funciona bien:
SELECT DATEDIFF(NOW(), sell_date) AS dif, sell_date FROM sellers_table WHERE id_product = 4 ORDER BY sell_date desc

Veo que me agrega unas comillas el active record y creo que ese es el problema pero no se como quitarlas pues esto lo genera el codeigniter

Espero me puedan ayudar
Muchas gracias
  #2 (permalink)  
Antiguo 10/05/2011, 23:37
 
Fecha de Ingreso: febrero-2011
Mensajes: 2
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Problema con consulta mysql desde codoigniter

los acentos ` los agrega el codeigniter pero ellos no deberian ser el problema, y tampoco se pueden quitar, te recomiendo es que ejecutes la consulta tal y como sale en el error y veas a ver si te da el error, y sino tendras que poner $this->db->query()
  #3 (permalink)  
Antiguo 11/05/2011, 04:04
Avatar de historiasdemaria  
Fecha de Ingreso: septiembre-2010
Ubicación: www
Mensajes: 433
Antigüedad: 14 años, 1 mes
Puntos: 54
Respuesta: Problema con consulta mysql desde codoigniter

Intenta CURTIME() en lugar de NOW() a ver que pasa :)
  #4 (permalink)  
Antiguo 11/05/2011, 15:06
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Problema con consulta mysql desde codoigniter

creo que es por los acentos. Para que CI no te los ponga, añade un segundo parámetro al select:

Código PHP:
Ver original
  1. $this->db->select('DATEDIFF(NOW(),sell_date) as dif,sell_date', FALSE);

Saludos

Etiquetas: frameworks-y-php-orientado-a-objetos
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 09:33.