Mira, de todo lo que has puesto, lo único que realmente nos interesa es esto:
Código MySQL:
Ver original i.telefono,
i.cedula,
p.nombre,
p.distrito,
c.direccion,
c.salario
ice i
c.cedula='$cedula'
Todo el resto es
basura, entendiendo por
basura cualquier código de programación (lo siento si la expresión te molesta), porque
en este foro no se trata de programación y poner código no SQL
no está permitido (confunde, ensucia el SQL y esconde los problemas en las variables cuyos valores no podemos
ver y por tanto
comprobar).
Para código de programación están los otros foros.
Volviendo al tema: Te corregí un poco el código, pero esencialmente está bien. No tiene errores de sintaxis, ni de lógica, y sólo depende del valor que le vayas a poner a la variable.
Ese es el corazón del asunto.
Si una consulta de este tipo no te devuelve datos, sólo puede ser por una razón: No existen registros que cumplan con las condiciones dadas. Tan sencillo como eso.
Ahora bien: ¿Has tenido en cuenta que la cédula que buscas
tiene forzosamente que existir en las tres tablas al mismo tiempo, al menos en un registro de cada una?
Porque eso es lo que hace ese JOIN (o INNER JOIN, como yo te puse).
Si hay al menos una de las tres tablas donde esa relación donde no se esté cumpliendo, no te devolverá datos.
Verifica eso primero, y luego veremos. Mientras, postea la estructura de esas tablas (el CREATE TABLE), para asegurarnos de que la relación de los JOIN es consistente en cuanto a tipos de dato.
PD: Por cierto, ¿te aseguraste de que la conexión exista y esté activa, y que la base esté seleccionada,
antes de realizar la consulta?