Consulta SQL espacio nombre tabla
Resuelto
Giuliano
-
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
jordane45 Mensajes publicados 30426 Fecha de registro Estado Moderador Última intervención -
Hola a todos,
Me gustaría realizar una consulta para mostrar datos de mi base de datos en la página de un sitio. Desafortunadamente, algunos nombres de tablas contienen espacios y no conozco la sintaxis correcta para que la tabla sea reconocida...
Sé lo que dirán, ¡no poner espacios en las tablas! Desafortunadamente, no fui yo quien creó esta base de datos y, dada su gran tamaño, me sería imposible renombrar todas las tablas...
¿Alguien podría ayudarme? Mi base de datos es Access y en mi sitio, programo en PHP.
¡Gracias de antemano!
6 respuestas
¡Hola!
No creo que haya solución a tu problema, en general PHP se utiliza para hacer el enlace con una base de tipo MySQL o similar y el espacio es un carácter prohibido dentro. Intenta siempre rodear tus nombres de tablas con ` (Alt GR +7) pero no tengas muchas esperanzas. A mi parecer, deberías renombrar tus tablas.
No creo que haya solución a tu problema, en general PHP se utiliza para hacer el enlace con una base de tipo MySQL o similar y el espacio es un carácter prohibido dentro. Intenta siempre rodear tus nombres de tablas con ` (Alt GR +7) pero no tengas muchas esperanzas. A mi parecer, deberías renombrar tus tablas.
Hola, primero que nada gracias por tu respuesta aunque no sea necesariamente la que esperaba... ;o)
Renombrar las tablas va a ser difícil porque hay muchísimas!!! ¿Y tal vez haciéndolo con otro lenguaje? ¿Java, asp?!
Voy a revisar todo eso y si no encuentro otra solución, me dedicaré a la tarea de renombrar todas mis tablas...
¡Gracias de todos modos!
Renombrar las tablas va a ser difícil porque hay muchísimas!!! ¿Y tal vez haciéndolo con otro lenguaje? ¿Java, asp?!
Voy a revisar todo eso y si no encuentro otra solución, me dedicaré a la tarea de renombrar todas mis tablas...
¡Gracias de todos modos!
Hola,
Bueno, ha pasado mucho tiempo desde que publicaste tu mensaje, pero me encontré con él por casualidad porque tengo el mismo problema pero en SQL Server.
Para ti y otros que puedan tener el mismo problema, la consulta funciona sin problemas si encierras el nombre de tu tabla entre [ ].
Lo que da en mi caso
select * from [Mois courant]
@+
Bueno, ha pasado mucho tiempo desde que publicaste tu mensaje, pero me encontré con él por casualidad porque tengo el mismo problema pero en SQL Server.
Para ti y otros que puedan tener el mismo problema, la consulta funciona sin problemas si encierras el nombre de tu tabla entre [ ].
Lo que da en mi caso
select * from [Mois courant]
@+
Otherwise, if you work with PHP and MySQL, simply enclosing the table names with ` in the query is enough for it to work.
See you, Pierre
See you, Pierre
Sí, es posible trabajar con MySQL y tablas o campos con espacios, aunque no es lo ideal.
Para ello, haga un pequeño ejemplo en PhpMyAdmin con una inserción o un select, le dará la sintaxis.
Ejemplo para una inserción:
INSERT INTO `tabla con espacio` ( `id` , `ancho` , `alto` , `grosor` , `nombre campo con espacio`)
VALUES ('$id', '$ancho', '$alto', '$grosor', '$nombre_campo')
Porque no siempre es fácil o incluso permitido renombrar los nombres de las tablas o campos, y quien creó la tabla o los campos no necesariamente lo hizo todo como debería. :)
Para ello, haga un pequeño ejemplo en PhpMyAdmin con una inserción o un select, le dará la sintaxis.
Ejemplo para una inserción:
INSERT INTO `tabla con espacio` ( `id` , `ancho` , `alto` , `grosor` , `nombre campo con espacio`)
VALUES ('$id', '$ancho', '$alto', '$grosor', '$nombre_campo')
Porque no siempre es fácil o incluso permitido renombrar los nombres de las tablas o campos, y quien creó la tabla o los campos no necesariamente lo hizo todo como debería. :)
Bonjour, en la misma idea, con php y mysql.
Estoy recuperando nombres de documentos que me servirán de url.
El problema es que algunos nombres de documentos contienen espacios.
Entonces, cuando recupero el nombre y lo almaceno en mi base tengo: "nombre del documento.pdf"
Pero cuando lo utilizo en un script para hacer un enlace, simplemente obtengo: "http://localhost/nombre"
Es necesario renombrar el documento a: "nombre%20del%20documento.pdf"
Para tener la url: "http://localhost/nombre%20del%20documento.pdf"
Mi variable $nom contiene bien "nombre del documento.pdf"
Pero al escribir: "http://localhost/`$url`" obtengo: "http://localhost/%60nombre "
¿Cómo obtener una variable que sirva de url y que contenga espacios?
Gracias
Estoy recuperando nombres de documentos que me servirán de url.
El problema es que algunos nombres de documentos contienen espacios.
Entonces, cuando recupero el nombre y lo almaceno en mi base tengo: "nombre del documento.pdf"
Pero cuando lo utilizo en un script para hacer un enlace, simplemente obtengo: "http://localhost/nombre"
Es necesario renombrar el documento a: "nombre%20del%20documento.pdf"
Para tener la url: "http://localhost/nombre%20del%20documento.pdf"
Mi variable $nom contiene bien "nombre del documento.pdf"
Pero al escribir: "http://localhost/`$url`" obtengo: "http://localhost/%60nombre "
¿Cómo obtener una variable que sirva de url y que contenga espacios?
Gracias
Hola. Este método no funciona, poner '' solo devuelve una columna de str que contiene el nombre de la columna inicial, por ejemplo: SELECT 'Código sector' FROM Tabla devuelve Código sector como nombre de columna y luego los campos: Código sector, Código sector, Código sector, etc. en cada fila. Sin embargo, es evidente que estamos buscando obtener los valores de la columna Código sector y no su nombre mismo.
Si alguien tiene una solución para esto, gracias de antemano.
hola
está bien indicado que no se deben usar comillas simples (apóstrofe) o comillas dobles (comillas), pero los backquotes... ` (el apóstrofe invertido)
y si es una base de datos Access, deberías poder usar corchetes. [tu campo] me parece