Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

la conexion php no muestra las base de datos creadas

Estas en el tema de la conexion php no muestra las base de datos creadas en el foro de Mysql en Foros del Web. Estoy creando una aplicación web usando phpmyadmin, el tema está en el hecho de que creo las tablas (lo he hecho por consola, phpmyadmin y ...
  #1 (permalink)  
Antiguo 08/08/2015, 09:38
 
Fecha de Ingreso: agosto-2015
Mensajes: 5
Antigüedad: 8 años, 8 meses
Puntos: 0
Pregunta la conexion php no muestra las base de datos creadas

Estoy creando una aplicación web usando phpmyadmin, el tema está en el hecho de que creo las tablas (lo he hecho por consola, phpmyadmin y por workbench) pero cuando hago el llamado a la base de datos, me arroja el error "Unknown database '5m' " aunque la base de datos esté creada e incluso con datos cargados, lo interesante del caso, es que no es con todas, ya que la descargar phpmyadmin a través de xampp, trajo consigo unas base de datos por defecto (imagino que propias de la aplicación) y esas si las muestra si la llamo a través de php.

De verdad esto me tiene acatarrado, si alguien pudiera ayudarme se los agradecería full.

Última edición por aligtrrz; 08/08/2015 a las 10:30
  #2 (permalink)  
Antiguo 08/08/2015, 10:45
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: la conexion php no muestra las base de datos creadas

Por lo pronto, los nombres de objetos tales como bases, tablas o columnas en MySQL deben comenzar SIEMPRE con letras y no con números.
Tenlo presente.
No es que no se puedan crear con números como prefijos, pero pueden traer problemas como el que describes.

Por otro lado,tienes que asegurarte de que el usuario utilizado para la conexión tenga PERMISOS para ver esa base,o de lo contrario será invisible para él.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 08/08/2015, 11:37
 
Fecha de Ingreso: agosto-2015
Mensajes: 5
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: la conexion php no muestra las base de datos creadas

Gracias por la ayuda, realmente no había caído en cuenta en lo de la creación de objetos con números como prefijo. Por otra parte me puse a revisar los privilegios de los usuarios y todos tiene los mismos privilegios, por lo tanto aun no doy con la solución del problema.
  #4 (permalink)  
Antiguo 08/08/2015, 15:16
 
Fecha de Ingreso: agosto-2015
Mensajes: 5
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: la conexion php no muestra las base de datos creadas

Ya no se que hacer no hay manera que reconozca la base de datos, aquí dejo el script de consulta:

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

y este el mensaje que envia:

conectado con exito al servidor
no se pudo conectar a la base de datos: Unknown database 'nueva'

entiendo que la notificacion "Unknown database 'nueva'" se refiere a que no existe la misma, pero si llamara a otra base de datos como por ejemplo:

Cita:
Editado: Código de programación no permitido en foros de Bases de Datos.
Leer las normas del foro, por favor.

si hace el llamdo correctamente y me da como resultado:
Conectado con exito al servidor
Conectado con exito a la base de datos

Ambas base de datos fueron creadas de la misma manera, no modifique nada, así que no comprendo porque no se puede conectar la primera...

Si hay alguien que sepa, mucho agradecería su ayuda.

Última edición por gnzsoloyo; 08/08/2015 a las 16:03
  #5 (permalink)  
Antiguo 08/08/2015, 16:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: la conexion php no muestra las base de datos creadas

El problema sigue siendo de visibilidad de la base en cuestión. No es tema de SQL en general, pero para hacelo simple, hagamos esto: En lugar de seleccionar la base de datos, ejecuta esta sentencia en una query:
Código MySQL:
Ver original 
Ese comando no requiere que hayas seleccionado una base de datos, porque es una petición al servidor de MySQL, y te devolverá un array resultado en PHP, con la lista de todas las bases de datos accesibles para el usuario que se conecta.
Verifica cuáles son las que devuelve. Si no está alli, es porque no la puede "ver" desde la aplicación, y entonces tienes un problema de permisos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 08/08/2015, 16:32
 
Fecha de Ingreso: agosto-2015
Mensajes: 5
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: la conexion php no muestra las base de datos creadas

Gracias una vez mas gnzsoloyo, anteriormente habia creado una carpeta con el nombre de la base de datos en la direccion C:\xampp\mysql\data, así que esa forma ya lograba conectarme, así que cuando ejecuté el query que posteaste, obtuve este resultado:
conectado con exito al servidor
\ \ \ \ \ \ \ \ \
information_schema
acepa
cdcol
datos5m
mysql
performance_schema
phpmyadmin
test
webauth

como veras, allí esta la base de datos solicitada, ahora surge una nueva interrogante, ¿debo guardar las tablas de la base de datos en la carpeta que creé?

De verdad estoy muy agradecido con tu ayuda, yo seguiré intentando, si logro tener un resultado positivo lo postearé para que otros que tal vez tengan el mismo problema puedan resolverlo.
  #7 (permalink)  
Antiguo 09/08/2015, 13:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: la conexion php no muestra las base de datos creadas

Cita:
Iniciado por aligtrrz Ver Mensaje
Gracias una vez mas gnzsoloyo, anteriormente habia creado una carpeta con el nombre de la base de datos en la direccion C:\xampp\mysql\data, así que esa forma ya lograba conectarme, así que cuando ejecuté el query que posteaste, obtuve este resultado:
conectado con exito al servidor
\ \ \ \ \ \ \ \ \
information_schema
acepa
cdcol
datos5m
mysql
performance_schema
phpmyadmin
test
webauth

como veras, allí esta la base de datos solicitada, ahora surge una nueva interrogante, ¿debo guardar las tablas de la base de datos en la carpeta que creé?

De verdad estoy muy agradecido con tu ayuda, yo seguiré intentando, si logro tener un resultado positivo lo postearé para que otros que tal vez tengan el mismo problema puedan resolverlo.
Bueno, estoy empezando a sospechar acerca del origen de tus problemas, dadas las aclaraciones que haces ahora.
Empecemos con esto:
Cita:
nteriormente habia creado una carpeta con el nombre de la base de datos en la direccion C:\xampp\mysql\data, así que esa forma ya lograba conectarme
Las capetas de las bases de datos no se crean manualmente. Las crea MySQL cuando ejecutas la sentencia CREATE DATABASE.
Esto quiere decir que no es seguro como método intervenir manualmente en las estructuras de carpetas que son administradas por el servidor.
Si la creas manualmente, puede que el SHOW las muestre, pero como están definidas en el diccionario de MySQL, entonces no existen para el servidor.

Otro punto:
Cita:
¿debo guardar las tablas de la base de datos en la carpeta que creé?
Esta pregunta me deja algo asombrado...
Las tablas se crean con CREATE TABLE, pero se hacen una vez que se ha seleccionado la base sobre las que se las creará, que a su vez debe existir en el diccionario de datos de MySQL.
En síntesis, las tablas se crean EN las bases y las bases se crean EN el servidor, en ambos casos por medio de sentencias de MySQL. Si no lo haces de esa forma, NO FUNCIONA.
Copiar archivos de estructura de datos a una carpeta no es suficiente para que la tabla exista. Debe estar en el diccionario de datos (este esta´compuesto por varias tablas que MySQL administra por si mismo).

Entonces, hay que ver si realmente generaste las bases y las tablas de forma correcta, ya que cuando te conectas desde un lenguaje, sólo se tomará como válido lo que exista en el diccionario de datos.

¿Se entiende?

El ámbito de BBDD es un ámbito estrictamente técnico, donde no puedes modificar las metodologías ni inventar caminos alternativos sin respetar las reglas, porque los sistemas de BBDD están calibrados para proveer seguridad a los procesos. Cualquier camino donde fuerces el método, invalida los resultados.

Vamos a hacer una prueba final: Ejecuta esta query y dinos los resultados:

Código MySQL:
Ver original
  1.     table_schema, table_name, engine
  2.     information_schema.tables
  3.     table_schema = 'datos5m';
__________________
¿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; 09/08/2015 a las 13:35
  #8 (permalink)  
Antiguo 09/08/2015, 14:16
 
Fecha de Ingreso: agosto-2015
Mensajes: 5
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: la conexion php no muestra las base de datos creadas

Lo de crear las carpetas manualmente fue un intento desesperado por lograr la conexión, créeme, con todo este rollo aprendí mucho ya que la única asesoría con la que contaba era la de vídeo tutoriales y post como este, al final decidí desintalar xammp y mysql y comenzar de cero, no fue lo mas ortodoxo, pero funcionó, creo que era un problema de configuración del servidor... a ciencia cierta tal vez nunca lo sepa.

Gracias por tu apoyo.

Etiquetas: php, phpmyadmin
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 01:31.