Cita:
Iniciado por ocp001a Me parece que ya colocaste esto en otro post, procura no repetir temas.
Por otra parte, no quiero resultar grosero, pero ¿ya hiciste la prueba? la mejor forma de avanzar y salir de dudas es hacer la prueba, y sólo cuando algo falla y no se sabe por qué, preguntar.
Para tu pregunta, no suelo usar mucho el innerjoin así que no estoy seguro que la sintáxis sea correcta, pero sí te puedo decir que tengas mucho cuidado cuando el usuario tenga el poder de elegir los campos y las tablas a consultar, ya que ahí es muy fácil sacar datos delicados de la base de datos.
Cita:
Iniciado por cuasatar Creo que aquí tienes dos serios errores. Uno de conceptos y por ende uno de codificación. Cuando yo hago una consulta inner join el usuario no tendria porque pasar los parametros de los campos ni de las tablas por post o get puesto que un usuario "comun y silvestre" lo unico que le deberia interesar es mandar un id,un nombre o cualquier otro y la consulta deberia mostrar el resultado. Pongo un ejemplo:
Código PHP:
"SELECT a.nombre, c.carrera FROM alumnos a
INNER JOIN carreras c ON a.id = c.id AND a.nombre=".$_POST["nombre"].";";
Como ves el usuario no deberia porque pasar los campos. En este ejemplo pongo que solo se mostrara un alumno pero si se desean mostrar todos los usuarios ni siquiera seria necesario pasarle datos.
A menos que quisieras hacer un inner join con la misma tabla no tiene sentido hacer una unión de la tabla $table=pepito con $table=pepito, ambas tablas deberian ser diferentes.
p.s. Has un echo de tu consulta para que te imprima como la generas. Ahí podras detectar mas errores.
Realmente deberia ser asi:
"SELECT ".$campos." FROM ".$tabla."
INNER JOIN ".$tabla2." ON $tabla.id = $tabla2.id