Respuesta: Error en consultas Sql. Lo que te están diciendo es que el código es ilegible como lo pones.
En SQL uno tiende a escribir las consultas de una forma más estructurada, de modo que sea sencillo de recorrer de arriba a abajo.
Además estás poniendo código PHP, cosa no permitida en estos foros, y usando la etiqueta equivocada (no es CODE ni PHP, o es el Highlight SQL o es MySQL).
Minimamente habría que ponerlo así:
Código MySQL:
Ver original(SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B WHERE A.id_aviso =B.id_aviso AND B.calle != '' AND A.telefonos ='$vte') (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D WHERE U.id_aviso =D.id_aviso AND D.calle != ''AND U.telefonos ='$vte'); (SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B WHERE A.id_aviso =B.id_aviso AND B.calle != '' AND A.movil ='$movil') (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D WHERE U.id_aviso =D.id_aviso AND D.calle != ''AND U.movil ='$movil'); (SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B WHERE A.id_aviso =B.id_aviso AND B.calle != '' AND A.dni ='$dni') (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D WHERE U.id_aviso =D.id_aviso AND D.calle != ''AND U.dni ='$dni'); (SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D (SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B WHERE A.id_aviso =B.id_aviso AND B.calle != '' AND A.apellidos like '%$ape%') (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D WHERE U.id_aviso =D.id_aviso AND D.calle != ''AND U.apellidos like '%$ape%'); (SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D (SELECT 0 qnum , A.id_aviso , A.telefonos , A.telefonos3 , A.movil , A.dni , A.name , A.apellidos , B.localidad , B.calle FROM clientes A , dir_clientes B WHERE A.id_aviso =B.id_aviso AND B.calle != '' AND B.localidad like '%$loca%') (SELECT 1 qnum , id_aviso , telefonos , telefonos3 , movil , dni , name , apellidos , localidad , calle (SELECT 2 qnum , U.id_aviso , U.telefonos , U.telefonos3 , U.movil , U.dni , U.name , U.apellidos , D.localidad , D.calle FROM usuarios U , dir_usuarios D WHERE U.id_aviso =D.id_aviso AND D.calle != ''AND D.localidad like '%$loca%');
Por otro lado, a nivel de implementación, te estás complicando la vida.
¿Para qué escribir tantas veces la misma consulta que sólo cambia un determinado parámetro en cada una?
Es más sencillo hacer una sola consulta y determinar qué contendrá el parámetro a agregar, y sólo ese segmento. De ese modo simplificarías el asunto.
Creo que luego te lo agregaré en el post de PHP...
Hay algunso detalles más, pero esos los veremos después.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque)
Última edición por gnzsoloyo; 25/02/2013 a las 07:21 |