Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema en direccionamientos.

Estas en el tema de Problema en direccionamientos. en el foro de PHP en Foros del Web. Hola, buenas tardes. Como siempre recurro a vosotros cuando tengo algún problema agradeciéndoos anticipadamente la orientación que a buen seguro me sabréis dar. Desde un ...
  #1 (permalink)  
Antiguo 08/04/2014, 10:53
Avatar de Euclides64  
Fecha de Ingreso: octubre-2010
Mensajes: 79
Antigüedad: 14 años, 1 mes
Puntos: 2
Problema en direccionamientos.

Hola, buenas tardes.

Como siempre recurro a vosotros cuando tengo algún problema agradeciéndoos anticipadamente la orientación que a buen seguro me sabréis dar.

Desde un archivo que se encuentra en el directorio raíz llamo a una función que se encuentra en el subdirectorio function, esta función llama a su ver a un archivo que se encuentra en otro subdirectorio del directorio raíz llamado conections.

Por las múltiples pruebas que he realizado estoy llegando a la conclusión que el problema no es la ruta de los archivos, más bien parece ser que mi planteamiento no debe de ser muy coherente y fallar por algún sitio para mi desconocido.

Desde la función trato de entrar en la base de datos y recorrer una tabla para conocer la posición que ocupa en la misma un determinado registro.

Cuando desde la función indico: require_once('connections/form_db.php');

Me da el siguiente error: Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /homepages/6/d346913069/htdocs/gest-abogados/includes/functions.php on line 440

Cuando indico: require_once('../connections/form_db.php'); (esto parece más correcto)

Me da el siguiente error: Warning: require_once(../connections/form_db.php) [function.require-once]: failed to open stream: No such file or directory in /homepages/6/d346913069/htdocs/gest-abogados/includes/functions.php on line 431

Y lo mejor de todo, cuando el contenido del fichero form_db.php lo inserto al principio de la función, esta no causa error y funciona perfectamente.

Esto ultimo parece la solución pero no me vale por cuanto esta función pienso incorporarla en varios proyectos y esto me obligaría a personalizar estos datos en cada uno de ellos con los posibles errores que pudiera cometer en los mantenimientos futuros de las aplicaciones.

Espero no haberos liado mucho y podáis ayudarme en mi problema.

Saludos. Jesús B.
  #2 (permalink)  
Antiguo 08/04/2014, 11:46
fiu
 
Fecha de Ingreso: diciembre-2006
Ubicación: Barcelona
Mensajes: 128
Antigüedad: 17 años, 11 meses
Puntos: 8
Respuesta: Problema en direccionamientos.

Hola, el primer error es porque los valores que le envías al mysql_select_db no son correctos, o están mal, o quizá el mysql_connect ha fallado.
Y el segundo pues no encuentra el archivo en la ruta.

piensa que al hacer un include, el archivo incluido es como si fuera codigo del archivo que lo llamó, por lo tanto las rutas son las del archivo que lo llamó.

Sobre la función, pues piensa que si estas usando variables, aunque sean de conexion, dentro de una funcion, esas variables serán locales, y no se verán desde fuera. La conexion tendría que estár fuera de la función.
aunque sin algo mas de codigo yo no sabria decirte mucho más Sobre las rutas yo prefiero usar otro tipo de valores como rutas absolutas desde la raiz ( require("/carpeta/archivo.php") ), o usando la constante __DIR__, o una constante propia.
No se si te ayuda eso, quizá alguien pueda ver tu problema de forma más clara, saludos :)
  #3 (permalink)  
Antiguo 08/04/2014, 12:22
Avatar de Euclides64  
Fecha de Ingreso: octubre-2010
Mensajes: 79
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: Problema en direccionamientos.

Solucionado, con require('connections/form_db.php'); todo funciona correctamente.

Me quedo sin saber por qué con require funciona y con require_once causa error, creía saber las diferencias entre una llamada y otra pero veo que no y al no saber la causa clara de la diferencia pues..

Saludos y gracias a todos.

Etiquetas: mysql, registro, select, tabla
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 21:45.