Foros del Web » Programando para Internet » PHP »

Por que funciona la consulta en phpmyadmin y no desde php?

Estas en el tema de Por que funciona la consulta en phpmyadmin y no desde php? en el foro de PHP en Foros del Web. Hola amigos! Vereis estoy haciendo una consulta a la BD, la cosa es que si la pego directamente en phpmyadmin si funciona pero desde php ...
  #1 (permalink)  
Antiguo 09/07/2013, 01:24
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
Por que funciona la consulta en phpmyadmin y no desde php?

Hola amigos!

Vereis estoy haciendo una consulta a la BD, la cosa es que si la pego directamente en phpmyadmin si funciona pero desde php no muestra nada, les pego el codigo a ver si ven algo:

Código PHP:
$s $_POST['s'];

        echo 
$consulta_fila "select e.id, e.descuento, md.logo, m.imagen, md.nombre as nombre_general, md.web, md.email_cliente as email_misdatos, ed.id as id_direccion, ed.nombre as nombre_direccion, ed.direccion, ed.telefono, ed.id_municipios, ed.id_provincias, ed.cp, ed.email as email_direccion from empresas e left join micrositio m on e.id = m.id_empresas left join misdatos md on e.id_mis_datos = md.id left join empresas_direcciones ed on (ed.id_empresas = e.id and ed.id_provincias =14) where e.id in ((select distinct(e1.id) from empresas e1, empresas_listas_articulos ela, empresas_direcciones ed, empresas_listas el, listas l where ela.id_empresas = e1.id and ed.id_empresas = e1.id and el.id = ela.id_empresas_listas and md.id_categorias <> 14 and el.id_listas = l.id and l.activo = 1 and el.activo = 1  and ed.id_provincias =14 and (ela.descripcion like '".$s."%' or ela.descripcion like '".$s."%')union select distinct(eln.id_empresas) from empresas_listas_nombres eln, misdatos md where eln.id_empresas = e.id and e.id_mis_datos = md.id and md.id_categorias <> 14  and ((eln.descripcion like '%".$s."%' or eln.descripcion  like '%".$s."%')  or (eln.descripcion like '%".$s."%' or eln.descripcion like '%".$s."%')) and eln.id_provincias =14 and eln.activo=1 ))"
    
//$consulta_fila = "select e.id, e.descuento, md.logo, m.imagen, md.nombre as nombre_general, md.web, md.email_cliente as email_misdatos, ed.id as id_direccion, ed.nombre as nombre_direccion, ed.direccion, ed.telefono, ed.id_municipios, ed.id_provincias, ed.cp, ed.email as email_direccion from empresas e left join micrositio m on e.id = m.id_empresas left join misdatos md on e.id_mis_datos = md.id left join empresas_direcciones ed on (ed.id_empresas = e.id and ed.id_provincias =14) where e.id in ((select distinct(e1.id) from empresas e1, empresas_listas_articulos ela, empresas_direcciones ed, empresas_listas el, listas l where ela.id_empresas = e1.id and ed.id_empresas = e1.id and el.id = ela.id_empresas_listas and md.id_categorias <> 14 and el.id_listas = l.id and l.activo = 1 and el.activo = 1 and ed.id_provincias =14 and (ela.descripcion like ' ".$s." %' or ela.descripcion like ' ".$s." %')union select distinct(eln.id_empresas) from empresas_listas_nombres eln, misdatos md where eln.id_empresas = e.id and e.id_mis_datos = md.id and md.id_categorias <> 14 and ((eln.descripcion like ' ".$s." %' or eln.descripcion like ' ".$s." %') or (eln.descripcion like ' ".$s." %' or eln.descripcion like ' ".$s." %')) and eln.id_provincias =14 and eln.activo=1 ))";
    
$resultado_fila mysql_query($consulta_fila); 

    while (
$ultimo_fila mysql_fetch_array($resultado_fila)){

    
$consulta_localidad "select p.id, p.descripcion, m.id, id_provincias, m.descripcion as localidad FROM provincias p Inner join municipios m On p.id = m.id_provincias where m.id = ".$ultimo_fila['id_municipios'];
    
    
$resultado_localidad mysql_query($consulta_localidad);  
    
$ultimo_localidad mysql_fetch_array($resultado_localidad);
    
        echo 
'<div style=" border-bottom:solid 1px #0094d6; border-top:solid 1px #a6d3e7; padding:20px 20px 20px 30px; background: -webkit-linear-gradient(#FFFFFF, #EFEFEF); background: -moz-linear-gradient(#FFFFFF, #EFEFEF); background: -o-linear-gradient(#FFFFFF, #EFEFEF); background: linear-gradient(#FFFFFF, #EFEFEF); ">';

        echo 
'<img src="logo_negocios/'.$ultimo_fila['id'].'/'.$ultimo_fila['logo'].'" style="max-width:150px;">';

        echo 
'<p style="font-size:14pt; line-height:10px; color:#00aef4;">'.utf8_encode($ultimo_fila['nombre_direccion']).'</p><span style="font-size:8pt; line-height:17pt; color:#000000;">'.utf8_encode($ultimo_fila['direccion']).'<br>'.$ultimo_fila['cp'].' '.utf8_encode($ultimo_localidad['localidad']).' - '.$ultimo_fila['telefono'].'<br></span>'.$ultimo_fila['email_direccion'].' - '.$ultimo_fila['web'];

        echo 
'</div>';
    } 
Un saludo!!
  #2 (permalink)  
Antiguo 09/07/2013, 01:50
 
Fecha de Ingreso: julio-2013
Mensajes: 87
Antigüedad: 11 años, 4 meses
Puntos: 9
Respuesta: Por que funciona la consulta en phpmyadmin y no desde php?

Hola,

¿Cuál de las dos no te funciona? ¿Te entra en el while? ¿Te aparece algún tipo de error? Mira si te está sacando algún WARNING en el error.log de Apache ya que si no especificas el identificador de la conexión con la BD en la función mysql_query utiliza la última abierta, y es posible que no tengas ninguna.

Saludos
  #3 (permalink)  
Antiguo 09/07/2013, 03:56
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
Respuesta: Por que funciona la consulta en phpmyadmin y no desde php?

Hola amigo!

La que no me funciona es la primera :

Código PHP:
Ver original
  1. echo $consulta_fila = "select e.id, e.descuento, md.logo, m.imagen, md.nombre as nombre_general, md.web, md.email_cliente as email_misdatos, ed.id as id_direccion, ed.nombre as nombre_direccion, ed.direccion, ed.telefono, ed.id_municipios, ed.id_provincias, ed.cp, ed.email as email_direccion from empresas e left join micrositio m on e.id = m.id_empresas left join misdatos md on e.id_mis_datos = md.id left join empresas_direcciones ed on (ed.id_empresas = e.id and ed.id_provincias =14) where e.id in ((select distinct(e1.id) from empresas e1, empresas_listas_articulos ela, empresas_direcciones ed, empresas_listas el, listas l where ela.id_empresas = e1.id and ed.id_empresas = e1.id and el.id = ela.id_empresas_listas and md.id_categorias <> 14 and el.id_listas = l.id and l.activo = 1 and el.activo = 1  and ed.id_provincias =14 and (ela.descripcion like '".$s."%' or ela.descripcion like '".$s."%')union select distinct(eln.id_empresas) from empresas_listas_nombres eln, misdatos md where eln.id_empresas = e.id and e.id_mis_datos = md.id and md.id_categorias <> 14  and ((eln.descripcion like '%".$s."%' or eln.descripcion  like '%".$s."%')  or (eln.descripcion like '%".$s."%' or eln.descripcion like '%".$s."%')) and eln.id_provincias =14 and eln.activo=1 ))";

Si que entra en el while, por que es solamente algunas veces las que falla

Un saludo!!
  #4 (permalink)  
Antiguo 09/07/2013, 06:06
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 14 años, 4 meses
Puntos: 21
Respuesta: Por que funciona la consulta en phpmyadmin y no desde php?

Revisa si la variable $s se recibe correctamente, por lo general yo imprimo en pantalla los resultados que envío por POST o por GET
Código PHP:
Ver original
  1. echo $_POST['s'];

Etiquetas: mysql, phpmyadmin, select
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 14:06.